home *** CD-ROM | disk | FTP | other *** search
/ Directorty Opus 5 - Magellan / Opus 5 - Magellan.iso / Handbuch_WW / Kapitel16 (.txt) < prev    next >
WordWorth  |  1996-09-10  |  129KB  |  2,059 lines

  1.  
  2. Kapitel Sechzehn: ARexx
  3.  
  4. 16.1  ARexx
  5.  
  6. Der ARexx-Portname von Opus 5 ist DOPUS.x, wobei x der Aufrufzähler des 
  7. Programms ist (der erste und meistbenutzte dürfte DOPUS.1 sein). Da 
  8. ARexx-Skripte, die von Opus aus aufgerufen werden, nicht automatisch die 
  9. Befehlsadresse erben, empfiehlt sich der Einsatz der Befehlssequenz {Qp} in der 
  10. aufrufenden Opus-Funktion (dies wird an anderer Stelle im Handbuch 
  11. ausführlicher beschrieben).
  12.  
  13. Wenn ein Befehl einen Wert oder eine Information zurückgibt, werden diese Daten 
  14. generell in der Variable RESULT zurückgegeben. Einzige Ausnahme bildet hier die 
  15. Befehle "dopus getstring" und "lister getstring (lesen Sie weiter unten mehr), 
  16. die ihre Informationen in der Variablen DOPUSRC zurückgeben. Fehlercodes werden 
  17. generell in der Variable RC zurückgegeben.
  18.  
  19. Der ARexx-Befehlssatz ist sehr umfassend und flexibel. Sie haben fast 
  20. vollständige Kontrolle über Dateilister im Textmodus, zusammen mit der 
  21. Möglichkeit Funktionen und Befehle aufzurufen. Sie können Ihre eigenen Befehle 
  22. mittels ARexx zu Opus hinzufügen, die dann automatisch geladen werden - diese 
  23. Befehle erscheinen, als seien sie fest in Opus eingebaut. Sie können sogar die 
  24. Standardbefehle durch Ihre eigenen ersetzen.
  25.  
  26. Es existiert weiterhin eine leistungsfähige Möglichkeit zur Nutzung 
  27. benutzerdefinierter Handler, die vollständig an die Bedürfnisse angepasst sind. 
  28. Dies erlaubt ARexx-Programmen, Nachrichten von Opus für eine Reihe von 
  29. Benutzeraktionen, einschließlich Dateilister- und Piktogrammereignissen, zu 
  30. empfangen. Lesen Sie auch den Abschnitt über die 'benutzerdefinierten Handler' 
  31. für weitere Informationen darüber.
  32.  
  33. 16.2  ARexx-Befehle
  34.  
  35. Der Einfachheit halber ist der ARexx-Befehlssatz von Directory Opus 
  36. hierarchisch aufgebaut mit nur drei Haupt- oder Basisbefehlen:
  37.  
  38.  dopus, lister und command.
  39.  
  40. (Die in eckigen Klammern angegebenen Parameter sind optionale Parameter.)
  41.  
  42.  
  43. 16.2.1  Der Basisbefehl "dopus"
  44.  
  45. Der erste Basisbefehl ist dopus. Dieser Befehl ist für alle generellen Zwecke 
  46. gedacht und erlaubt die Ausführung von Funktionen, die nicht in die anderen 
  47. Kategorien fallen.
  48.  
  49.   dopus addappicon        dopus addtrap     
  50.   dopus back              dopus command     
  51.   dopus error             dopus front       
  52.   dopus getfiletype       dopus getstring   
  53.   dopus read              dopus remappicon  
  54.   dopus remtrap           dopus request     
  55.   dopus screen            dopus send        
  56.   dopus setappicon        dopus version     
  57.  
  58. Befehl: dopus addappicon
  59.  
  60. Syntax: dopus addappicon <port> <label> <id> [pos <x> <y>] [icon <filename>]
  61.          [quotes] [info] [snap] [close] [local] [locked] [menu <stem>]
  62.          [base <base>]
  63.  
  64. Dies erlaubt es Ihnen von ARexx aus Ihre eigenen AppIcons zum Bildschirm von 
  65. Opus (und optional zu dem der Workbench) hinzuzufügen. Sie können das zu 
  66. benutzende Piktogramm spezifizieren, den Namen des Piktogramms und dessen 
  67. Position auf dem Bildschirm, sowie einige weitere Parameter. Sie können 
  68. außerdem die Objekte für das Popup-Menü des neuen Piktogramms definieren. Opus 
  69. sendet Nachrichten an den von Ihnen spezifizierten Messageport - sehen Sie sich 
  70. dazu die mitgelieferten Beispielskripte an, die Ihnen das Empfangen und 
  71. Verarbeiten dieser Nachrichten näher erklären.
  72.  
  73. Die Parameter für "addappicon" sind:
  74.  
  75.  port     - Der Name des Ports, an den die Nachrichten gesendet werden.
  76.  label     - Der Name des Piktogramms (Der Text, der darunter steht).
  77.  id       - Ihre eigene Identifikation für das Piktogramm. Diese wird in
  78.              den Nachrichten zurückgegeben.
  79.  pos       - Position des Piktogramms (x/y-Koordinaten)
  80.  icon     - Optionaler Pfadname des zu nutzenden Piktogramms (ohne die
  81.           ".info"-Ednung)
  82.  quotes- Geben Sie dieses Schlüsselwort an, wenn Sie wollen, daß
  83.               Dateinamen in Anführungszeichen übergeben werden, wenn Sie an
  84.               den Messageport gesendet werden.
  85.  info     - Wenn Sie wollen, daß "Information" bei diesem Piktogramm
  86.               funktioniert.
  87.  snap    - Wenn Sie wollen, daß "Fixieren" bei diesem Piktogramm
  88.               funktioniert.
  89.  close    - Wenn Sie wollen, daß "Schließen" statt "Öffnen" im Popup-Menü
  90.              stehen haben möchten.
  91.  local     - Wenn Sie wollen, daß das Piktogramm nur auf der Opus-Oberfläche
  92.            und nicht auf der Workbench erscheint.
  93.  
  94.  
  95.  locked- Das Piktogramm erscheint fest an seiner Position, d.h. es kann
  96.               nicht verschoben werden.
  97.  menu    - Name einer Stammvariable, die Ihre eigenen Menüobjekte enthält.
  98.  base     - Erlaubt Ihnen die Spezifikation einer Basis-ID für Nachrichten,
  99.               die vom Popup-Menü gesendet werden.
  100.  
  101. Der Parameter "menü" erlaubt Ihnen die Spezifikation Ihrer eigenen Menüobjekte 
  102. für das Popup-Menü des Piktogramms. Die Stammvariable muß das folgende Format 
  103. vorweisen:
  104.  
  105.   stem.COUNT - Anzahl der Objekte
  106.   stem.0 - Objekt 1
  107.   stem.1 - Objekt 2
  108.   usw.
  109.  
  110. Wenn Sie "---" als Objekt spezifizieren, so erscheint an dieser Stelle ein 
  111. Menüseparator. Wenn Sie eine Nachricht erhalten, daß der Benutzer eines dieser 
  112. Menüobjekte angewählt hat, so enthält die Nachricht die ID dieses Objektes. 
  113. Dies ist der Wert entsprechend der Position des Objektes in der Stammvariable 
  114. (z.B. 0 für Objekt 1, 1 für Objekt 2, usw.). Wenn Sie eine Basis-ID ("base") 
  115. definiert haben, so wird diese zu der eigentlichen ID addiert.
  116.  
  117. Der Befehl gibt ein AppIcon-Handle in RESULT zurück, wenn er erfolgreich 
  118. ausgeführt wurde. Dieses Handle kann auch an "dopus setappicon" weitergeleitet 
  119. werden, um das Piktogramm zu verändern, und es muß an "dopus remappicon" 
  120. weitergeleitet werden, damit das AppIcon nach Beendigung der gewünschten 
  121. Operation entfernt werden kann. Wenn Sie keine Piktogrammdatei spezifizieren, 
  122. so wird das Standardpiktogramm vom Typ "Tool" (Werkzeug) benutzt.
  123.  
  124. Nachrichten vom AppIcon werden an den von Ihnen spezifizierten Messageport 
  125. gesendet. Die Nachrichten sind in derselben Weise strukturiert wie die, die von 
  126. Dateilistern gesendet werden, so daß kein Grund besteht, daß Sie nicht 
  127. denselben Code für beide benutzen können. Für weitere Informationen sehen Sie 
  128. bitte auch den Abschnitt über benutzerdefinierte Handler. 
  129.  
  130. Befehl: dopus addtrap
  131.  
  132. Syntax: dopus addtrap [abort|<command>] <handler> [port <portname]
  133.  
  134. Dieser Befehl erlaubt Ihrem Skript das Abfangen des Abbruchknopfes der 
  135. Fortgangsanzeige oder jedes internen Opus-Befehls. Spezifizieren Sie das 
  136. Schlüsselwort "abort", um die Abbruchnachricht abzufangen, oder den Namen des 
  137. internen Befehls, der abgefangen werden soll. <handler> ist der Name des 
  138. Messageports Ihres benutzerdefinierten Handlers. Wenn Sie mit dem Schlüsselwort 
  139. "port" den Namen eines Messageports übergeben, so wird die Nachricht zu diesem 
  140. Port anstatt zum üblichen Handlerport geschickt. Dies kann sehr nützlich sein, 
  141. wenn es im Zusammenhang mit "abort" genutzt wird, und Ihr Handler gerade "busy" 
  142. ist, weil er etwas synchron ausführt, während auf Abbruch gedrückt wird. Wenn 
  143. der Port für einen Abbruch ein separater Prozess ist, kann er den den 
  144. Haupthandlerprozess z.B. mittels Signalen unterbrechen. Der Befehl "dopus 
  145. remtrap" dient dazu, abgefangene Funktionen wieder zu entfernen. Lesen Sie 
  146. Weiteres in der Sektion über die 'benutzerdefinierten Handler' zu den 
  147. Messageports.
  148.  
  149. Befehl: dopus back
  150.  
  151. Syntax: dopus back
  152.  
  153. Hauptfenster (und Bildschirm) von Opus 5 werden ganz nach hinten gelegt.
  154.  
  155. Befehl: dopus command
  156.  
  157. Syntax: dopus command <name> program <scriptname> [desc <description>]
  158.          [template <template>] [source] [dest]
  159.  
  160. Dieser Befehl bietet die Möglichkeit, neue interne Befehle zu Opus hinzuzufügen 
  161. oder bereits existierende zu ersetzen. Er wird generell aus der "init"-Funktion 
  162. eines Opus-ARexx-Moduls aufgerufen und der Parameter "program" ist der Name 
  163. dieses Moduls. Das Feld "program" ist unabdingbar und Opus wird den 
  164. Skriptnamen, den Sie hier angeben, jedesmal ausführen, wann immer diese 
  165. Funktion aufgerufen wird. Lesen Sie mehr darüber bei den 'ARexx-Modulen' und 
  166. den Beispielskripten.
  167.  
  168. Befehl: dopus error
  169.  
  170. Syntax: dopus error <code>
  171.  
  172. Dieser Befehl wird genutzt, um aussagekräftigere Fehlermeldungen zu erhalten, 
  173. wenn ihm ein Opus-ARexx-Fehlercode übergeben wird.
  174.  
  175. Beispiel:
  176.  
  177.  > dopus error 1
  178.                      ---> Datei vom Filter abgelehnt 
  179.  > dopus error 10
  180.                      ---> Ungültiges Listerhandle 
  181.  
  182. Befehl: dopus front
  183.  
  184. Syntax: dopus front
  185.  
  186. Damit werden Hauptfenster (und Bildschirm) von Directory Opus 5 ganz nach vorne 
  187. geholt.
  188.  
  189. Befehl: dopus getfiletype
  190.  
  191. Syntax: dopus getfiletype <filename> <id>
  192.  
  193. Dieser Befehl untersucht den Dateityp der angegebenen Datei. <filename>  ist 
  194. der volle Name der Datei einschließlich Pfad. Standardmäßig wird bei Erkennung 
  195. des Dateityps die Dateitypbeschreibung als String in RESULT zurückgegeben. 
  196. Geben Sie das Schlüsselwort "id" an, wird stattdessen die Identifikation des 
  197. Dateityps zurückgegeben.
  198.  
  199.  
  200. Beispiel:
  201.  
  202.  > dopus getfiletype RAM:Testdatei.lha
  203.                                                   ---> LHA Archiv 
  204.  > dopus getfiletype RAM:Bild.jpg id
  205.                                                   ---> JPEG 
  206.  
  207. Befehl: dopus getstring
  208.  
  209. Syntax: dopus getstring <text> [secure] [<length>] [<default>] [<buttons>]
  210.  
  211. Dieser Befehl erlaubt dem Benutzer die Übergabe eines Textstrings. <text> ist 
  212. ein String der im Requester als Text angezeigt wird und sollte, wenn 
  213. Leerzeichen in ihm enthalten sind, in Anführungszeichen eingeschlossen sein. 
  214. Das Schlüsselwort "secure" sorgt dafür, daß jeder eingegebene Buchstabe nur 
  215. durch einen Stern (*) dargestellt wird, so daß sich hiermit auch 
  216. Passwortabfragen realisieren lassen. <length> ist die maximal akzeptierte 
  217. Eingabelänge und ist, wenn nicht spezifiziert, auf 80 Zeichen voreingestellt. 
  218. <default> ist der Vorgabewert, der im Requester als Vorgabetext erscheint. 
  219. <buttons> sind die Knöpfe, die Sie in dem Requester zur Verfügung haben wollen; 
  220. die Knöpfe sollten dabei durch vertikale Striche ("|") abgetrennt sein. Wird 
  221. der Parameter "buttons" weggelassen, so hat der Requester nur einen Knopf names 
  222. "OK".
  223.  
  224. Beispiel:
  225.  
  226.  > dopus getstring '"Bitte Text eingeben" 40 "" OK|Abbruch'
  227.  
  228. Dieses Beispiel würde einen Requester mit dem Text "Bitte Text eingeben"  
  229. anzeigen, eine maximale Eingabelänge von 40 Zeichen akzeptieren, keinen 
  230. Vorgabetext zeigen und zwei Knöpfe, die mit "OK" und "Abbruch" beschriftet 
  231. sind, anbieten.
  232.  
  233. Der Eingabestring wird, falls eingegeben, in RESULT zurückgeliefert. Die 
  234. Grundzahl des gewählten Knopfes wird in der speziellen Variable DOPUSRC 
  235. zurückgegeben. Im obigen Beispiel würde, wenn der Benutzer auf "OK" klickte, 
  236. DOPUSRC den Wert 1 enthalten. Hätte er auf "Abbruch" geklickt, so würde 0 
  237. zurückgegeben. Nur dieser Befehl und der Befehl "lister getstring" nutzen 
  238. momentan die Variable DOPUSRC. Dies kann sich in der Zukunft mit weiteren 
  239. Entwicklungen natürlich noch ändern.
  240.  
  241.  
  242. Bitte beachten Sie, daß in früheren Version von Opus 5 die Variable RESULT 
  243. nicht gelöscht wurde, wenn ein leerer String eingegeben wurde. Achten Sie 
  244. darauf, ob von diese Änderung Ihre eigenen Skripte betroffen sind oder nicht.
  245.  
  246.  
  247.  
  248. Befehl: dopus read
  249.  
  250. Syntax: dopus read <filename>
  251.            dopus read <handle> <filename>
  252.            dopus read <handle> <quit>
  253.  
  254.  
  255. Diese Befehle wurden implementiert, um Ihnen größere Kontrolle über den 
  256. Textanzeiger von Opus zu geben. Grundsätzlich erlauben Sie Ihnen, einen 
  257. Textanzeiger zu öffnen und darin einen nach dem anderen Texte zu betrachten, 
  258. bevor er wieder geschlossen wird. Sie können das Textanzeigerhandle in 
  259. derselben Weise nutzen wie das Dateilisterhandle.
  260.  
  261. Beispiel:
  262.  
  263.  > dopus read RAM:Datei1.TXT
  264.                                            ---> 121839492 
  265.  > dopus read 121839492 RAM:Datei2.TXT
  266.                                            ---> 121839492 
  267.  > dopus read 121839492 quit
  268.                                            ---> 0 
  269.  
  270. Befehl: dopus remappicon
  271.  
  272. Syntax: dopus remappicon <handle>
  273.  
  274. Hiermit entfernen Sie ein AppIcon, das Sie vorher mit dem Befehl "dopus 
  275. addappicon" hinzugefügt haben.
  276.  
  277. Befehl: dopus remtrap
  278.  
  279. Syntax: dopus remtrap [abort|<command>] <handler>
  280.  
  281. Schaltet das Abfangen des Abbruchknopfes der Fortgangsanzeige oder eines 
  282. internen Befehls, wie es mit "dopus addtrap" initiiert wurde, wieder aus. Wenn 
  283. Sie für <command> ein "*" eingeben, so werden alle Traps, die für diesen 
  284. Handler definiert wurden, entfernt. <handler> ist der Name des Messageports, 
  285. wie er bei "dopus addtrap" spezifiziert wurde.
  286.  
  287. Befehl: dopus request
  288.  
  289. Syntax: dopus request <text> <buttons>
  290.  
  291. Dieser Befehl verlangt vom Benutzer eine Auswahl. <text> ist der angezeigte 
  292. Textstring und <buttons> sind die Knöpfe, die Sie im Requester erscheinen 
  293. lassen wollen. Knöpfe werden voneinander auch hier durch einen vertikalen 
  294. Strich abgetrennt.
  295.  
  296.  
  297. Beispiel:
  298.  
  299.  > dopus request '"Bitte wählen Sie" "Option1|Option2|Option3"'
  300.  
  301. Dies würde einen Requester mit dem Text "Bitte wählen Sie" ausgeben und Ihnen 
  302. drei Knöpfe zur Auswahl bieten, die mit "Option1", "Option2" und "Option3" 
  303. beschriftet sind.
  304.  
  305. Der Wert des angewählten Knopfes wird in RC zurückgegeben. Der letzte Knopf (in 
  306. diesem Fall "Option3") ist immer als "Abbruch"-Knopf gedacht und bekommt daher 
  307. automatisch den Wert 0 zugewiesen. Die bei diesem Beispiel zurückgegebenen 
  308. Werte sind also 1, 2, oder 0.
  309.  
  310.  
  311. Befehl: dopus screen
  312.  
  313. Syntax: dopus screen
  314.  
  315. Dieser Befehl gibt Informationen über den Bildschirm von Opus im folgenden 
  316. Format zurück:
  317.  
  318.  <name> <width> <height> <depth> <barheight>
  319.  
  320. Wenn Opus verborgen ist, hat es natürlich keinen aktuellen Bildschirm. In 
  321. diesem Fall wird in RC der Wert 5 zurückgegeben. Sie können so auch 
  322. herausfinden, ob Opus verborgen ist oder nicht.
  323.  
  324. Beispiel:
  325.  
  326.  > dopus screen
  327.                      ---> DOPUS.1 640 512 2 10 
  328.  
  329. Der Wert <barheight> ist nützlich, wenn Sie Dateilister oder andere Fenster 
  330. direkt unterhalb der Titelzeile des Bildschirms öffnen wollen.
  331.  
  332. Befehl: dopus send
  333.  
  334. Syntax: dopus send <port name> <string>
  335.  
  336. Dieser Befehl richtet bei Opus selbst nichts aus, erleichtert es Ihnen aber, 
  337. z.B. einen String als Nachricht an einen anderen ARexx-Task zu senden. Der 
  338. String wird in Arg0 der Nachricht übergeben, die an den genannten Port gesendet 
  339. wird.
  340.  
  341.  
  342. Befehl: dopus setappicon
  343.  
  344. Syntax: dopus setappicon <handle> <item>
  345.  
  346. Dies erlaubt Ihnen die Manipulation von AppIcons, die Sie mit dem Befehl "dopus 
  347. addappicon" hinzugefügt haben. Gültige Werte für <item> sind:
  348.  
  349. text <text>
  350.     Ändert die Beschriftung des Piktogramms.
  351.  
  352. busy [on|off]
  353. Ändert den Piktogrammstatus auf "busy" oder nicht-"busy".
  354.  
  355. locked [on|off]
  356. Sperrt oder entsperrt die Position des Piktogramms.
  357.  
  358. Wenn ein Piktogramm "busy" ist, kann es durch den Benutzer nicht angewählt 
  359. werden. Es wird dann nicht reagieren auf Doppelklicks, Popup-Menü-Ereignisse, 
  360. Nehmen & Ablegen usw. Das Piktogramm wird, wenn es "busy" ist, als 
  361. Geisterpiktogramm dargestellt, d.h. es wird mit einem Punktraster belegt, um 
  362. diesen Status zu kennzeichnen.
  363.  
  364. Wenn ein Piktogramm gesperrt ist, kann seine Position nicht verändert werden 
  365. und es kann nicht manuell durch den Benutzer verschoben werden, genausowenig, 
  366. wie ein "CleanUp" einen Effekt darauf hätte.
  367.  
  368. Befehl: dopus version
  369.  
  370. Syntax: dopus version
  371.  
  372. Dieser Befehl gibt einen String im Format <version> <revision> zurück und kann 
  373. in ARexx-Skripten nützlich sein, um festzustellen, ob bestimmte Fähigkeiten 
  374. überhaupt verfügbar sind.
  375.  
  376.  
  377. 16.2.2  Der Basisbefehl "lister"
  378.  
  379. Der nächste Basisbefehl, lister, erlaubt Ihnen die Kontrolle über Dateilister 
  380. und die Einträge in Dateilistern.
  381.  
  382.   lister add         lister addstem    
  383.   lister copy             lister clear      
  384.   lister clear            lister close      
  385.   lister empty            lister getstring  
  386.   lister new              lister query      
  387.   lister read             lister refresh    
  388.   lister remove          lister request    
  389.   lister set              lister select     
  390.   lister wait             lister iconify    
  391.  
  392. Befehl: lister add
  393.  
  394. Syntax: lister add <handle> <name> <size> <type> <seconds> <protect>
  395.          <comment>
  396.  
  397. Dieser Befehl fügt dem spezifizierten Dateilister einen Eintrag hinzu.
  398.  
  399.  <name>     ist der volle Name des Eintrags.
  400.  <size>        ist die Größe dieses Eintrags.
  401.  <type>        definiert den Typ des Eintrags (<0 für eine Datei und >0 für ein
  402.                Verzeichnis).
  403.  <seconds>     ist das Datum des Eintrags in Sekunden seit dem 1.1.1978.
  404.  <protect>     sind die Schutzbits der Datei im ASCII-Format
  405.  <comment>ist der Dateikommentar des Eintrags (wenn gewünscht)
  406.  
  407. Gültige Werte für <type> sind:
  408.  
  409.   0 - Gerät
  410.   1 - Verzeichnis
  411.  -1 - Datei
  412.   2 - Verzeichnis in der Farbe von Zuweisungen
  413.  -2 - Datei in der Farbe von Geräten
  414.   3 - Verzeichnis in Fettdruck (wie Links)
  415.  -3 - Datei in Fettdruck (wie Links)
  416.   4 - Verzeichnis in der Farbe von Zuweisungen und Fettdruck
  417.  -4 - Datei in der Farbe von Geräten und Fettdruck
  418.  
  419.  
  420. Nach diesem Befehl wird die Anzeige des Dateilisters nicht automatisch 
  421. aufgefrischt. Dies geschieht erst nach Ausführung eines "lister refresh".
  422.  
  423. Beispiel:
  424.  
  425.  > lister add 121132636 "Meine Datei!" 12839 -1 540093905 prwed Mein Kommentar
  426.  
  427. Befehl: lister addstem
  428.  
  429. Syntax: lister addstem <handle> <stem>
  430.  
  431. Dieser Befehl fügt Dateien zu einen Dateilister mittels einer Stammvariablen 
  432. hinzu. Dieser Befehl ist leistungsfähiger als "lister add"  und sollte daher 
  433. bevorzugt genutzt werden. Die Felder der Stammvariable sind denen sehr ähnlich, 
  434. die vom "lister query <handle> entry" Stammbefehl zurückgegeben werden 
  435. (Tatsächlich können Sie die Resultate von "query"  direkt an "addstem" 
  436. übergeben, um einen identischen Eintrag in einem anderen Lister zu erzeugen).
  437.  
  438. Die benutzten Felder sind:
  439.  
  440.  name           - Name des Eintrags
  441.  size           - Dateigröße
  442.  type           - Art des Eintrags (identisch mit "lister add")
  443.  protstring     - Schutzbits im ASCII-Format (z.B. "rwed")
  444.  protect        - Schutzwert (Zahl, die benutzt wird, wenn "protstring" nicht
  445.                     angegeben wird)
  446.  comment        - Dateikommentar
  447.  datestring     - Erzeugungsdatum und -zeit (ASCII-String)
  448.  date           - Anzahl der Sekunden seit 1.1.1978 (wird benutzt, wenn
  449.                     "datestring" nicht angegeben wird)
  450.  filetype       - ASCII-String für die Dateitypanzeige
  451.  selected       - 0 oder 1
  452.  version        - Versionsnummer
  453.  revision       - Revisionsnummer
  454.  verdate        - Datumsstring der Version
  455.  userdata       - Benutzerdaten (Wert, kein String)
  456.  display        - Benutzerdefinierter Anzeigestring
  457.  menu           - Benutzerdefiniertes Popup-Menü
  458.  base           - Basis-ID für das Popup-Menü
  459.  
  460. Nicht alle dieser Felder werden auch benötigt. Als absolutes Minimum sollten 
  461. Sie die Felder "name" oder "display" spezifizieren.
  462.  
  463. Das Feld "display" erlaubt es Ihnen, einen komplett benutzerdefinierten String 
  464. zu wählen, der für den Eintrag angezeigt wird. Es wird keine der anderen 
  465. Informationen angezeigt, wenn dieser String angegeben wird. Die maximale Länge 
  466. beträgt 256 Zeichen.
  467.  
  468. Das Feld "userdata" erlaubt es Ihnen, Ihren eigenen Wert für eine Benutzer-ID 
  469. (oder einen anderen Wert) zu spezifizieren, der mit diesem Eintrag assoziiert 
  470. wird. Der Hauptnutzen ergibt sich im Zusammenhang mit dem benutzerdefinierten 
  471. Popup-Menü und den benutzerdefinierten Handlern.
  472.  
  473. Das Feld "menu" erlaubt es Ihnen, eine Stammvariable zu spezifizieren, die 
  474. benutzerdefinierte Objekte für das Popup-Menü enthält, das dargestellt wird, 
  475. wenn der Benutzer die rechte Maustaste über dem Eintrag drückt. Das Format 
  476. entspricht dem für die Popup-Menüs bei AppIcons:
  477.  
  478.   stem.COUNT - Anzahl der Einträge
  479.   stem.BASE - Basis-ID
  480.   stem.0 - Eintrag 1
  481.   stem.1 - Eintrag 2
  482.   usw.
  483.  
  484. Wenn "count" auf 0 gesetzt wird, so ist das Popup-Menü für die rechte Maustaste 
  485. für diesen Eintrag abgeschaltet. Ist dieses Feld nicht angegeben, so wird das 
  486. Standard-Popup-Menü angezeigt. Wenn Sie "---" als Eintrag spezifizieren, so 
  487. erscheint an dieser Stelle ein Menüseparator. Wenn Sie eine Nachricht erhalten, 
  488. daß der Benutzer einen dieser Menüeinträge angewählt hat, so enthält die 
  489. Nachricht die ID dieses Eintrags. Dies ist der Wert entsprechend der Position 
  490. des Eintrags in der Stammvariable (z.B. 0 für Eintrag 1, 1 für Eintrag 2, 
  491. usw.). Wenn Sie eine Basis-ID ("base") definiert haben, so wird diese zu der 
  492. eigentlichen ID addiert.
  493.  
  494. Lesen Sie dazu auch den Abschnitt über 'benutzerdefinierte Handler' später in 
  495. diesem Kapitel, um weitere Informationen über Messageports zu erhalten.
  496.  
  497. Befehl: lister copy
  498.  
  499. Syntax: lister copy <handle> <destination>
  500.  
  501. Dieser Befehl kopiert den Inhalt des einen Listers in einen anderen. Im 
  502. Gegensatz zu den meisten anderen Befehlen wird bei diesem die Anzeige des 
  503. Zieldateilisters umgehend aufgefrischt.
  504.  
  505. Beispiel:
  506.  
  507.  > lister copy 121132636 121963868
  508.  
  509. Befehl: lister clear
  510.  
  511. Syntax: lister clear <handle>
  512.  
  513. Dieser Befehl löscht den Inhalt des spezifizierten Listers. Die Anzeige wird 
  514. erst nach Ausführen eines "lister refresh" erneuert.
  515.  
  516.  
  517. In früheren Versionen von Opus wurde so auch der Name des benutzerdefinierten 
  518. Handlers gelöscht. Dies geschieht nun nicht mehr!
  519.  
  520.  
  521.  
  522. Befehl: lister clear
  523.  
  524. Syntax: lister clear <handle> <item> <value>
  525.  
  526. Dieser Befehl löscht eine bestimmte Information aus dem spezifizierten Lister. 
  527. <handle> ist das Handle das fraglichen Listers. <item> kann eines der folgenden 
  528. Schlüsselworte sein.
  529.  
  530. abort
  531. Dies löscht das "Abbruch"-Flag im spezifizierten Dateilister.
  532.  
  533.   > lister clear 121132636 abort
  534.  
  535. flags <flags>
  536. Löscht die Sortier- und Anzeigeflags des spezifizierten Listers. Die Anzeige 
  537. wird nicht erneuert vor dem Ausführen eines "lister refresh". Schauen Sie bei 
  538. 'lister query' für die Liste der verfügbaren Schlüsselworte nach.
  539.  
  540. Beispiel:
  541.  
  542.   > lister clear 121132636 flags reverse
  543.  
  544. progress
  545. Schaltet den Fortgangsindikator im spezifizierten Dateilister ab.
  546.  
  547.   > lister clear 121132636 progress
  548.  
  549.  
  550. Befehl: lister close
  551.  
  552. Syntax: lister close [all|<handle>]
  553.  
  554. Dieser Befehl schließt den spezifizierten Dateilister, oder, wenn das 
  555. Schlüsselwort "all" angegeben wird, alle Dateilister. Alle Aktionen, die gerade 
  556. in diesen Dateilistern stattfinden, werden abgebrochen. Der Wert <handle> ist 
  557. das Handle, das zurückgegeben wurde, als dieser Dateilister mit dem Befehl 
  558. "lister new" geöffnet wurde.
  559.  
  560. Beispiel:
  561.  
  562.  > lister close 121132636
  563.  
  564. Befehl: lister empty
  565.  
  566. Syntax: lister empty <handle>
  567.  
  568. Dieser Befehl zeigt im spezifizierten Lister einen leeren Puffer an (ähnlich 
  569. "lister clear", der den Inhalt des aktuellen Puffers löscht). Wenn keine leeren 
  570. Puffer verfügbar sind (und kein neuer erzeugt werden kann), wird der 
  571. existierende Puffer gelöscht. Ist ein benutzerdefinierte Handler hier 
  572. zugehörig, wird dieser eine "inactive" Nachricht erhalten.
  573.  
  574.  
  575. Beachten sie bitte, daß die Nachricht "inactive" von früheren Versionen von 
  576. Opus 5 nicht an den benutzerdefinierten Handler gesendet wurden, wenn dieser 
  577. Befehl ausgeführt wurde.
  578.  
  579.  
  580. Befehl: lister getstring
  581.  
  582. Syntax: lister getstring <handle> <text> [secure] [<length>] [<default>]
  583.          [<buttons>]
  584.  
  585. Dieser Befehl ist identisch mit dem Befehl "dopus getstring", außer daß hier 
  586. noch ein Listerhandle als zusätzlicher Parameter übergeben wird und der 
  587. Requester über dem Dateilister zentriert wird.
  588.  
  589. <text> ist ein String der im Requester als Text angezeigt wird und sollte, wenn 
  590. Leerzeichen in ihm enthalten sind, in Anführungszeichen eingeschlossen sein. 
  591. Das Schlüsselwort "secure" sorgt dafür, daß jeder eingegebene Buchstabe nur 
  592. durch einen Stern (*) dargestellt wird, so daß sich hiermit auch 
  593. Passwortabfragen realisieren lassen. <length> ist die maximal akzeptierte 
  594. Eingabelänge und ist, wenn nicht spezifiziert, auf 80 Zeichen voreingestellt. 
  595. <default> ist der Vorgabewert, der im Requester als Vorgabetext erscheint. 
  596. <buttons> sind die Knöpfe, die Sie in dem Requester zur Verfügung haben wollen; 
  597. die Knöpfe sollten dabei durch vertikale Striche ("|") abgetrennt sein. Wird 
  598. der Parameter "buttons" weggelassen, so hat der Requester nur einen Knopf names 
  599. "OK".
  600.  
  601. Beispiel:
  602.  
  603.  > lister getstring 121132636 '"Bitte Text eingeben" 40 "" OK|Abbruch'
  604.  
  605. Dieses Beispiel würde einen Requester mit dem Text "Bitte Text eingeben"  
  606. anzeigen, eine maximale Eingabelänge von 40 Zeichen akzeptieren, keinen 
  607. Vorgabetext zeigen und zwei Knöpfe, die mit "OK" und "Abbruch" beschriftet 
  608. sind, anbieten.
  609.  
  610. Der Eingabestring wird, falls eingegeben, in RESULT zurückgeliefert. Die 
  611. Grundzahl des gewählten Knopfes wird in der speziellen Variable DOPUSRC 
  612. zurückgegeben. Im obigen Beispiel würde, wenn der Benutzer auf "OK" klickte, 
  613. DOPUSRC den Wert 1 enthalten. Hätte er auf "Abbruch" geklickt, so würde 0 
  614. zurückgegeben. Nur dieser Befehl und der Befehl "dopus getstring"  nutzen 
  615. momentan die Variable DOPUSRC. Dies kann sich in der Zukunft mit weiteren 
  616. Entwicklungen natürlich noch ändern.
  617.  
  618.  
  619. Bitte beachten Sie, daß in früheren Version von Opus 5 die Variable RESULT 
  620. nicht gelöscht wurde, wenn ein leerer String eingegeben wurde. Achten Sie 
  621. darauf, ob von diese Änderung Ihre eigenen Skripte betroffen sind oder nicht.
  622.  
  623.  
  624.  
  625. Befehl: lister new
  626.  
  627. Syntax: lister new [<x/y/w/h>] [toolbar <toolbar>] [<path>]
  628.  
  629. Dieser Befehl erzeugt einen neuen Dateilister. Sie können optional die Position 
  630. und die Größe des Dateilisters angeben. Voreingestellt ist -1/-1, so daß sich 
  631. der Dateilister an der Position des Mauszeigers öffnet. Mit dem Schlüsselwort 
  632. "toolbar" kann auch eine benutzerdefinierte Werkzeugleiste spezifiziert werden. 
  633. Werkzeugleistendateien werden im Verzeichnis "DOpus5:Buttons" erwartet, wenn 
  634. kein vollständiger Pfad dafür angegeben wird. Außerdem können Sie noch einen 
  635. Startpfad definieren, der eingelesen werden soll, wenn der Dateilister geöffnet 
  636. wird.
  637.  
  638. Beispiel:
  639.  
  640.  > lister new
  641.  > lister new 100/50/400/300
  642.  > lister new ram:
  643.  > lister new 80/30/200/200 DH0:Work
  644.  > lister new toolbar Custom_Toolbar Work:
  645.                                                         ---> 121132636 
  646.  
  647. Wenn ein Dateilister erfolgreich geöffnet werden konnte, wird sein Handle in 
  648. der Variable RESULT zurückgegeben. Sie müssen dieses Handle merken, wenn Sie 
  649. später mit dem dazugehörigen Dateilister noch irgendetwas anfangen wollen. Im 
  650. obigen Beispiel wurde das Handle "121132636" zurückgegeben. Dieses wird auch in 
  651. weiteren Beispielen benutzt.
  652.  
  653. Befehl: lister query
  654.  
  655. Syntax: lister query <handle> <item>
  656.  
  657. Dieser Befehl gibt eine bestimmte Information eines spezifizierten Dateilisters 
  658. zurück. <handle> ist das Handle des fraglichen Listers. Alle Informationen, die 
  659. abgefragt werden, werden in der Variable RESULT zurückgegeben, es sei denn, ein 
  660. Fehler tritt auf. <item> kann eines der folgenden Schlüsselworte sein:
  661.  
  662. all
  663. Dies gibt die Handles aller Dateilister zurück, die momentan nicht "BUSY"  sind 
  664. (dies sind alle, die gerade keine Operation ausführen). Hierfür wird kein 
  665. Handle in der Befehlsübergabe benötigt.
  666.  
  667. Beispiel:
  668.  
  669.  > lister query all
  670.                             ---> 121132636 121963868 
  671.  
  672.  
  673. abort
  674. Dies gibt einen boolschen Wert zurück, der den Status des Abbruchflags des 
  675. Listers angibt. Dieser Befehl hat nur Gültigkeit, wenn der Dateilister einen 
  676. Fortgangsindikator (wie z.B. beim Kopieren) geöffnet hat, da dies der einzige 
  677. Moment ist, in dem der Benutzer eine Funktion abbrechen kann. Es wird "1" 
  678. zurückgeliefert, wenn "Abbruch" gewählt wurde und "0", wenn nicht.
  679.  
  680. Beispiel:
  681.  
  682.  > lister query 121132636 abort
  683.                                          ---> 0 
  684.  
  685.  
  686. Eine Abfrage des Abbruchflags setzte dieses in Opus 4 zurück. In Opus 5 ist 
  687. dies nicht mehr der Fall. Wollen Sie dieses Flag zurücksetzen, müssen Sie dazu 
  688. "lister clear" anwenden.
  689.  
  690.  
  691. busy
  692. Liefert einen boolschen Wert (0 oder 1) zurück, der anzeigt, ob der 
  693. spezifizierte Dateilister "BUSY" ist. Ist er "BUSY", wird eine "1" 
  694. zurückgegeben, ist er es nicht, eine "0".
  695.  
  696. Beispiel:
  697.  
  698.  > lister query 121132636 busy
  699.                                             ---> 1 
  700.  
  701. dest
  702. Dies gibt die Handles aller momentan geöffneten Zieldateilister zurück. Da Sie 
  703. sich hier nicht direkt auf einen speziellen Lister beziehen, müssen Sie kein 
  704. Handle in der Befehlsübergabe angeben. Hierbei können Sie außerdem 
  705. Stammvariablen nutzen.
  706.  
  707. Beispiel:
  708.  
  709.  > lister query dest
  710.                              ---> 121963868 
  711.  
  712. Dieser Befehl unterstützt die Schlüsselworte "stem" und "var". (Weitere 
  713. Informationen dazu finden Sie unter "lister query entry").
  714.  
  715.  
  716. dirs <separator>
  717. Gibt die Namen aller Verzeichnisse im spezifizierten Dateilister zurück.
  718.  
  719. Beispiel:
  720.  
  721.  > lister query 121132636 dirs ,
  722.                                          ---> "Clipboards","ENV","T" 
  723.  
  724. Dieser Befehl unterstützt die Schlüsselworte "stem" und "var". (Weitere 
  725. Informationen dazu finden Sie unter "lister query entry").
  726.  
  727. display
  728. Dies gibt einen String zurück, der alle Datenfelder angibt, die momentan vom 
  729. Dateilister angezeigt werden. Der String besteht aus denselben 
  730. Schlüsselwörtern, wie bei "sort". Die Reihenfolge ist die, in der sie im 
  731. Dateilister angezeigt werden (sofern sie angezeigt werden).
  732.  
  733. Beispiel:
  734.  
  735.  > lister query 121132636 display
  736.                                            ---> name size date protect comment 
  737.  
  738. entries <separator>
  739. Gibt die Namen aller Einträge (Dateien und Verzeichnisse) des Dateilisters 
  740. zurück
  741.  
  742. Beispiel:
  743.  
  744.  > lister query 121132636 entries
  745.                     ---> "Clipboards" "ENV" "T" "abc" "Disk.info" "readme" "zzz.zzz" 
  746.  
  747. Dieser Befehl unterstützt die Schlüsselworte "stem" und "var".  (Weitere 
  748. Informationen dazu finden Sie unter "lister query entry").
  749.  
  750. Beispiel:
  751.  
  752.  > lister query 121132636 entries stem files
  753.  
  754. Dies würde die folgenden Variablen zurückliefern:
  755.  
  756.   files.count = 7
  757.   files.0 = Clipboards
  758.   files.1 = ENV
  759.   files.2 = T
  760.   files.3 = abc
  761.   usw.
  762.  
  763.  
  764. entry <name>
  765. Gibt Informationen über den spezifizierten Eintrag zurück. <name> ist der 
  766. aktuelle Name des Eintrages, über den Sie Informationen wollen. Sie können für 
  767. <name> auch #xxx angeben (xxx ist eine Zahl), um die Ordnungszahl des 
  768. gewünschten Eintrages zu spezifizieren. Dieser Befehl kann Informationen auf 
  769. zwei Arten zurückliefern. Standardmäßig wird ein Informationsstring in der 
  770. Variable RESULT oder einer Variable Ihrer Wahl zurückgeliefert. Die in diesem 
  771. Fall zurückgelieferte Information ist:
  772.  
  773.  <name> <size> <type> <selection> <seconds> <protect> <comment>
  774.  
  775.  <name>:     Der volle Name des Eintrages
  776.  <size>:         Die Größe dieses Eintrages
  777.  <type>:     Der Typ des Eintrag (<0 für eine Datei, >0 für ein Verzeichnis)
  778.  <selection>:     Der Anwahlstatus des Eintrags (1 wenn angewählt, 0 wenn nicht)
  779.  <seconds>:     Das Datum des Eintrags in Sekunden seit dem 01.01.1978
  780.  <protect>:     Die Schutzbits (im ASCII-Format)
  781.  <comment>:     Der Dateikommentar (wenn vorhanden)
  782.  
  783. Beispiel:
  784.  
  785.  > lister query 121132636 entry ENV
  786.                                              ---> ENV -1 2 0 543401724 ----rwed 
  787.  
  788. Standardmäßig wird das Ergebnis in der Variable RESULT zurückgegeben. Wollen 
  789. Sie eine andere Variable dafür nutzen, so können Sie dies mit dem Schlüsselwort 
  790. "var", gefolgt von einem Variablennamen, tun.
  791.  
  792. Beispiel:
  793.  
  794.  > lister query 121132636 entry ENV var my_variable
  795.  
  796. Die zweite und elegantere Methode gibt Informationen über den Eintrag in einer 
  797. Stammvariablen zurück. Um diese zweite Methode zu nutzen, müssen Sie das 
  798. Schlüsselwort "stem", gefolgt von dem gewünschten Namen der Stammvariable 
  799. angeben, angeben.
  800.  
  801. Beispiel:
  802.  
  803.  > lister query 121132636 entry ENV stem fileinfo
  804.  
  805.  
  806. Die spezifizierte Stammvariable hätte mehrere Felder, wobei jedes Feld 
  807. Informationen über den abgefragten Eintrag enthält. Die dabei benutzten Felder 
  808. sind:
  809.  
  810.  name          - Dateiname des Eintrags
  811.  size              - Dateigröße
  812.  type               - Art des Eintrags (<0 = Datei, >0 = Verzeichnis)
  813.  selected       - 0 oder 1
  814.  date               - Anzahl der Sekunden seit 1.1.1978
  815.  protect            - Schutzbits (Langwert)
  816.  datestring        - Erzeugungsdatum und -zeit (ASCII-Format)
  817.  protstring     - Schutzbits im ASCII-Format (z.B. "rwed")
  818.  comment        - Dateikommentar (falls vorhanden)
  819.  filetype           - Dateityp (falls vorhanden)
  820.  version        - Versionsnummer
  821.  revision           - Revisionsnummer
  822.  verdate        - Datumsstring der Version (numerisch TT.MM.JJ)
  823.  datenum       - Dateidatum im numerischen Format TT.MM.JJ
  824.  time              - Dateizeit im 24-Stunden-Format HH:MM:SS
  825.  
  826. Zahlreiche andere "query"-Befehle in dieser Sektion unterstützen die 
  827. Schlüsselworte "var" und "stem". 
  828.  
  829.  
  830. Beachten Sie bitte etwas bei der Nutzung folgender Befehle: lister query files, 
  831. dirs, entries, selfiles, seldirs, selentries. In früheren Versionen von Opus 5 
  832. wurde die Variable RESULT nicht geleert, wenn keine Werte zurückgegeben werden 
  833. konnten. Dies Problem wurde beseitigt. Wenn Sie diese Befehl mit dem 
  834. Schlüsselwort "stem" benutzen, wird das Feld "count" nun in einem solchen Fall 
  835. auch auf Null gesetzt.
  836.  
  837.  
  838. files <separator>
  839. Gibt die Namen aller Dateien im spezifizierten Dateilister zurück. Die Namen 
  840. werden als ein langer String zurückgegeben, durch Leerschritte getrennt. Sie 
  841. können statt der Leerschritte aber auch einen anderen Separator wählen, wenn 
  842. Sie das Schlüsselwort dafür benutzen.
  843.  
  844. Beispiel:
  845.  
  846.  > lister query 121132636 files
  847.                                         ---> "abc" "Disk.info" "readme" "zzz.zzz" 
  848.  
  849. Dieser Befehl unterstützt die Schlüsselworte "stem" und "var".  (Weitere 
  850. Informationen dazu finden Sie unter "lister query entry").
  851.  
  852.  
  853. firstsel
  854. Gibt den Namen des ersten angewählten Eintrags des Dateilisters zurück. Dieser 
  855. Eintrag wird nicht deselektiert, so daß dieser Befehl solange den gleichen 
  856. Namen  zurückgibt, bis Sie selbst den Eintrag deselektieren.
  857.  
  858. Beispiel:
  859.  
  860.  > lister query 121132636 firstsel
  861.                                            ---> "ENV" 
  862.  
  863. flags
  864. Dies gibt einen String zurück, der die aktiven Anzeigeflags des Dateilisters 
  865. enthält. Diese Flags sind:
  866.  
  867.  reverse       - Sortieren in umgekehrter Reihenfolge
  868.  noicons        - Piktogramm filtern
  869.  hidden        - Verborgene Dateien anzeigen
  870.  
  871. Beispiel:
  872.  
  873.  > lister query 121132636 flags
  874.                                             ---> noicons 
  875.  
  876. hide
  877. Dies liefert den Filter für das Verbergen von Einträgen für diesen Lister 
  878. zurück.
  879.  
  880. Beispiel:
  881.  
  882.  > lister query 121132636 hide
  883.                                             ---> #?.o 
  884.  
  885. handler
  886. Dies gibt den Namen des aktuellen, benutzerdefinierten Handlerports zurück.
  887.  
  888. Beispiel:
  889.  
  890.  > lister query 121132636 handler
  891.                                               ---> ArcDir121132636 
  892.  
  893. label
  894. Dies gibt den Textstring zurück, der unterhalb der Piktogramms erscheint, wenn 
  895. dieser Dateilister verborgen ist. Standardmäßig ist dies der Name des des 
  896. Verzeichnisses, das der Dateilister gerade anzeigt. Dieser Name kann allerdings 
  897. auch verändert werden durch Aufruf des Befehls "lister set label".  
  898.  
  899. Beispiel:
  900.  
  901.  > lister query 121132636 label
  902.                                             ---> Ram Disk 
  903.  
  904. lock <type>
  905. Dieser Befehl gibt den Sperrstatus des Dateilisters zurück, wobei <type>  
  906. entweder "state" oder "format" ist. Sehen Sie dazu den Befehl 'lister set 
  907. lock'.
  908.  
  909. mode
  910. Dies gibt den aktuellen Darstellungsmodus des Dateilisters zurück, ebenso wie 
  911. das Schlüsselwort "showall", wenn der Dateilister in einem der Piktogrammodi 
  912. ist und auch Dateien ohne Piktogramme anzeigt. Die Modi des Dateilisters sind:
  913.  
  914.  name            - Textmodus
  915.  icon            - Piktogrammodus
  916.  icon action    - Piktogramm Plus-Modus
  917.  
  918. Beispiel:
  919.  
  920.  > lister query 121132636 mode
  921.                                            ---> icon action showall 
  922.  
  923. numdirs
  924. Gibt die Anzahl der Verzeichnisse im Dateilister zurück.
  925.  
  926. Beispiel:
  927.  
  928.  > lister query 121132636 numdirs
  929.                                           ---> 3 
  930.  
  931. numentries
  932. Gibt die Anzahl aller Einträge (Dateien und Verzeichnisse) des Dateilisters 
  933. zurück.
  934.  
  935. Beispiel:
  936.  
  937.  > lister query 121132636 numentries
  938.                                                  ---> 7 
  939.  
  940. numfiles
  941. Gibt die Anzahl der Dateien im Dateilister zurück.
  942.  
  943. Beispiel:
  944.  
  945.  > lister query 121132636 numfiles
  946.                                                 ---> 4 
  947.  
  948. numselentries
  949. Gibt die Anzahl der angewählten Einträge (Dateien und Verzeichnisse) des 
  950. Dateilisters zurück.
  951.  
  952. numseldirs
  953. Gibt die Anzahl der angewählten Verzeichnisse des Dateilisters zurück.
  954.  
  955.  
  956. numselfiles
  957. Gibt die Anzahl der angewählten Dateien des Dateilisters zurück.
  958.  
  959. path
  960. Liefert einen String zurück, der den momentanen Pfad, der im Lister angezeigt 
  961. wird, enthält.
  962.  
  963. Beispiel:
  964.  
  965.  > lister query 121132636 path
  966.                                            ---> ram: 
  967. position
  968. Liefert die aktuelle Position und die Größe des Dateilisters zurück. Außerdem 
  969. wird das Schlüsselwort "locked" zurückgegeben, wenn die Position des 
  970. Dateilisters gesperrt ist.
  971.  
  972. Beispiel:
  973.  
  974.  > lister query 121132636 position
  975.                                                ---> 80/30/200/200 locked 
  976.  
  977. selfiles <separator>
  978. Gibt die Namen aller angewählten Dateien des Dateilisters zurück.  Dieser 
  979. Befehl unterstützt die Schlüsselworte "stem" und "var".  (Weitere Informationen 
  980. dazu finden Sie unter "lister query entry").
  981.  
  982. seldirs <separator>
  983. Gibt die Namen aller angewählten Verzeichnisse des Dateilisters zurück.  Dieser 
  984. Befehl unterstützt die Schlüsselworte "stem" und "var".  (Weitere Informationen 
  985. dazu finden Sie unter "lister query entry").
  986.  
  987. selentries <separator>
  988. Gibt die Namen aller angewählten Einträge (d.h. Dateien und Verzeichnisse) des 
  989. Dateilisters zurück. Dieser Befehl unterstützt die Schlüsselworte "stem" und 
  990. "var". (Weitere Informationen dazu finden Sie unter "lister query entry"). 
  991.  
  992. separate
  993. Dies gibt ein Schlüsselwort zurück, das Ihnen die Eintragsordnung des 
  994. Dateilisters mitteilt. Gültige Eintragsordnungen sind:
  995.  
  996.  mix        - Dateien und Verzeichnisse gemischt
  997.  dirsfirst      - Verzeichnisse zuerst
  998.  filesfirst     - Dateien zuerst
  999.  
  1000. Beispiel:
  1001.  
  1002.  > lister query 121132636 separate
  1003.                                            ---> dirsfirst 
  1004.  
  1005.  
  1006. show
  1007. Dies liefert den Filter für die Anzeige von Einträgen zurück.
  1008.  
  1009. source
  1010. Dies gibt die Handles aller momentan geöffneten Quelldateilister zurück. Da Sie 
  1011. sich hier nicht direkt auf einen speziellen Lister beziehen, müssen Sie kein 
  1012. Handle im Befehl angeben.
  1013.  
  1014. Beispiel:
  1015.  
  1016.  > lister query source
  1017.                                ---> 121132636 128765412 
  1018.  
  1019. Dieser Befehl unterstützt die Schlüsselworte "stem" und "var".  (Weitere 
  1020. Informationen dazu finden Sie unter "lister query entry").
  1021.  
  1022. Beispiel:
  1023.  
  1024.  > lister query source stem sources
  1025.  
  1026. Dies würde zurückgeben:
  1027.  
  1028.   sources.count = 2
  1029.   sources.0 = 121132636
  1030.   sources.1 = 128765412
  1031.  
  1032. sort
  1033. Dies gibt ein Schlüsselwort zurück, das die Sortiermethode des Dateilisters 
  1034. angibt. Die möglichen Schlüsselworte sind:
  1035.  
  1036.  name      - Dateiname
  1037.  size          - Dateigröße
  1038.  protect       - Schutzbits
  1039.  date          - Datum
  1040.  comment    - Kommentar
  1041.  filetype      - Dateityp
  1042.  version       - Dateiversion
  1043.  
  1044. Beispiel:
  1045.  
  1046.  > lister query 121132636 sort
  1047.                                             ---> name 
  1048.  
  1049.  
  1050. toolbar
  1051. Dies gibt zurück, welche Werkzeugleiste momentan vom spezifizierten Dateilister 
  1052. benutzt wird.
  1053.  
  1054. Beispiel:
  1055.  
  1056.  > lister query 121132636 toolbar
  1057.                                            ---> DOpus5:Buttons/toolbar 
  1058.  
  1059. visible
  1060. Liefert einen boolschen Wert, der anzeigt, ob der spezifizierte Dateilister 
  1061. momentan sichtbar ist.
  1062.  
  1063. Beispiel:
  1064.  
  1065.      > lister query 121132636 visible
  1066.                                          ---> 1 
  1067.  
  1068. Befehl: lister read
  1069.  
  1070. Syntax: lister read <handle> <path> [force]
  1071.  
  1072. Dieser Befehl liest den angegebenen Pfad in den spezifizierten Lister. 
  1073. Standardmäßig wird ein neuer Puffer zum Lesen des Verzeichnisses verwendet; 
  1074. wird jedoch das Schlüsselwort "force" verwendet, wird der aktuelle Puffer 
  1075. gelöscht und das Verzeichnis wird in diesen eingelesen. Der alte Pfad wird in 
  1076. RESULT zurückgegeben.
  1077.  
  1078. Beispiel:
  1079.  
  1080.  > lister read 121132636 'dh0:test'
  1081.                                              ---> RamDisk: 
  1082.  
  1083. Befehl: lister refresh
  1084.  
  1085. Syntax: lister refresh (all|<handle>) [full] [date]
  1086.  
  1087. Dieser Befehl erneuert die Anzeige des spezifizierten Dateilisters, oder aller 
  1088. Dateilister, wenn das Schlüsselwort "all" anstelle eines Listerhandles 
  1089. angegeben wird. Anders als in Opus 4 erneuert keiner der bisher genannten 
  1090. Befehle die Anzeige des spezifizierten Dateilisters. Wenn Sie also wollen, daß 
  1091. Veränderungen sichtbar werden, dann müssen Sie diesen Befehl ausführen (z.B. 
  1092. nach dem Hinzufügen von Dateien, Ändern der Sortiermethode usw.), um die 
  1093. Anzeige zu erneuern. Das optionale Schlüsselwort "full" sorgt dafür, daß die 
  1094. Titelzeile und die Statusanzeige ebenfalls erneuert werden.
  1095.  
  1096. Beispiel:
  1097.  
  1098.  > lister refresh 121132636 full
  1099.  
  1100.  
  1101. Wird das Schlüsselwort "date" mitangegeben, so wird der Dateilister das Datum 
  1102. des Verzeichnisses erneuern, was dafür sorgt, daß bei der nächsten Aktivierung 
  1103. des Dateilisters das Verzeichnis nicht erneut eingelesen wird. Bei Angabe 
  1104. dieses Schlüsselwortes wird die eigentliche Eintragsanzeige des Dateilisters 
  1105. nicht aufgefrischt.
  1106.  
  1107. Beispiel:
  1108.  
  1109.  > lister refresh 121132636 date
  1110.  
  1111. Befehl: lister remove
  1112.  
  1113. Syntax: lister remove <handle> <name>
  1114.  
  1115. Dieser Befehl entfernt einen Eintrag aus dem spezifizierten Lister. <name>  ist 
  1116. entweder der Name des Eintrags oder #xxx (xxx ist eine Zahl) zur Festlegung der 
  1117. Nummer des Eintrags. Die Anzeige wird erst nach Ausführen eines "lister 
  1118. refresh" erneuert.
  1119.  
  1120. Beispiel:
  1121.  
  1122.  > lister remove 121132636 #5
  1123.  
  1124. Befehl: lister request
  1125.  
  1126. Syntax: lister request <handle> <text> <buttons>
  1127.  
  1128. Dieser Befehl ist identisch mit dem Befehl "dopus request", außer daß hier noch 
  1129. ein Listerhandle als zusätzlicher Parameter übergeben wird und der Requester 
  1130. über dem Dateilister zentriert wird.
  1131.  
  1132. <text> ist der angezeigte Textstring und <buttons> sind die Knöpfe, die Sie im 
  1133. Requester erscheinen lassen wollen. Knöpfe werden voneinander auch hier durch 
  1134. einen vertikalen Strich abgetrennt.
  1135.  
  1136. Beispiel:
  1137.  
  1138.  > lister request 121132636 '"Bitte wählen Sie" "Option1|Option2|Option3"'
  1139.  
  1140. Dies würde einen Requester mit dem Text "Bitte wählen Sie" ausgeben und Ihnen 
  1141. drei Knöpfe zur Auswahl bieten, die mit "Option1", "Option2" und "Option3" 
  1142. beschriftet sind.
  1143.  
  1144. Der Wert des angewählten Knopfes wird in RC zurückgegeben. Der letzte Knopf (in 
  1145. diesem Fall "Option3") ist immer als "Abbruch"-Knopf gedacht und bekommt daher 
  1146. automatisch den Wert 0 zugewiesen. Die bei diesem Beispiel zurückgegebenen 
  1147. Werte sind also 1, 2, oder 0.
  1148.  
  1149.  
  1150. Befehl: lister set
  1151.  
  1152. Syntax: lister set <handle> <item> <value>
  1153.  
  1154. Dies übergibt eine Information an den Dateilister. <handle> ist das Handle des 
  1155. fraglichen Listers. <item> kann eines der folgenden Schlüsselworte sein:
  1156.  
  1157. busy <status> [wait]
  1158. Setzt den "BUSY"-Status des Listers. "0" oder "off" stellt "BUSY" aus, "1" oder 
  1159. "on" stellt es an. Sie können dabei auch das Schlüsselwort "wait"  angeben, 
  1160. wodurch der Befehl synchron ausgeführt werden kann (d.h. mehrere Dateilister 
  1161. werden synchron geschaltet).
  1162.  
  1163. Beispiel:
  1164.  
  1165.  > lister set 121132636 busy on wait 
  1166.  > lister set 128765412 busy 0
  1167.  
  1168. case
  1169. Dieser Befehl schaltet die Unterscheidung von Groß- und Kleinschreinbung an 
  1170. oder aus. Da das Amigadateisystem diese Unterscheidung eigentlich nicht 
  1171. benötigt, ist die Standardeinstellung hier 0. Für einige der 
  1172. benutzerdefinierten Handler kann es aber durchaus sinnvoll sein, diese 
  1173. Unterscheidung zu aktivieren
  1174.  
  1175. Beispiel:
  1176.  
  1177.  > lister set 121132636 case on
  1178.  > lister set 121132636 case off
  1179.  
  1180. dest [lock]
  1181. Setzt den Listerstatus auf Ziel. Geben Sie zusätzlich "lock" an, wird der 
  1182. Lister als Ziel gesperrt.
  1183.  
  1184. Beispiel:
  1185.  
  1186.  > lister set 121132636 dest
  1187.  
  1188. display <items>
  1189. Setzt die Information über die darzustellenden Daten des Listers. Die Anzeige 
  1190. wird erst nach Ausführen eines "lister refresh" erneuert. Die Schlüsselworte 
  1191. sind dieselben wie bei "lister query". 
  1192.  
  1193. Beispiel:
  1194.  
  1195.  > lister set 121132636 display name date size protect
  1196.  
  1197.  
  1198. field [<number> <string>]
  1199. Hiermit können Sie Ihre eigenen Textstrings als Beschriftung für die 
  1200. Sortierknöpfe nutzen. Sie können hiermit nicht den Sinn dieser Spalten im 
  1201. Dateilister ändern - dies ändert lediglich die Überschrift.
  1202.  
  1203. Mit <number> (0-9) geben Sie an, welcher String ersetzt werden soll.
  1204.  
  1205. Bei 0 beginnend sind dies:
  1206.  
  1207.  name, size, access, date, comment, type, owner, group, net, version
  1208.  
  1209. Wenn Sie einen Leerstring übergeben, so wird hier wieder der Standardwert 
  1210. eingetragen.  Die Anzeige wird erst nach Ausführen eines "lister refresh 
  1211. <handle> full" erneuert.
  1212.  
  1213. Sie können mit "lister set <handle> field off" alle Sortierknöpfe auschalten 
  1214. oder diese mit "on" wieder einschalten. Beachten Sie bitte, daß wenn die 
  1215. Sortierknöpfe in der Konfiguration nicht eingeschaltet sind, diese auch nicht 
  1216. über ein ARexx-Skript eingeschaltet werden können.
  1217.  
  1218. Beispiel:
  1219.  
  1220.  > lister set 121132636 field 0 Dateiname 4 Notizen
  1221.  
  1222. flags <flags>
  1223. Setzt die Sortier- und Anzeigeflags des Listers. Die Anzeige wird erst nach 
  1224. Ausführen eines "lister refresh" erneuert. Mögliche Schlüsselworte sind:
  1225.  
  1226.  reverse       - Sortieren in umgekehrter Reihenfolge
  1227.  noicons       - Piktogramm filtern
  1228.  hidden        - Verborgene Dateien anzeigen
  1229.  
  1230. Beispiel:
  1231.  
  1232.  > lister set 121132636 flags reverse noicons
  1233.  
  1234. header <string>
  1235. Dies arbeitet ähnlich "lister set title", außer daß der Text in der Statuszeile 
  1236. (D:x/y V:x/y) ändert. Der alte String wird in RESULT zurückgegeben. Übergeben 
  1237. Sie hier einen Leerstring, so werden die Standardwerte wieder hergestellt. 
  1238. Wollen Sie hier tatsächlich nichts anzeigen lassen, so übergeben Sie ein "-"
  1239.  
  1240.  
  1241. handler <port name> [quotes] [fullpath]
  1242. Setzt den Portnamen des Handlers für diesen Lister. Dies ist der Name des 
  1243. Messageports, an den Nachrichten von Opus gesendet werden. Geben Sie das 
  1244. Schlüsselwort "quotes" an, so werden alle Dateinamen, die in Nachrichten an den 
  1245. Port gesendet werden, in Anführungszeichen eingeschlossen. Sie sollten dies 
  1246. nutzen, damit Sie auch Dateinamen übergeben können, die Leerzeichen enthalten. 
  1247. Wenn Sie das Schlüsselwort "fullpath" benutzen, so enthalten Nachrichten immer 
  1248. den vollen Pfadnamen einer Datei, unabhängig davon, ob diese von einem 
  1249. Opus-Dateilister kamen oder nicht (üblicherweise erhalten Sie, wenn Sie die 
  1250. Datei von einem Dateilister erhalten, nur den Dateinamen und das Listerhandle, 
  1251. mit dem Sie den Pfad auch herausfinden können).
  1252.  
  1253. Beispiel:
  1254.  
  1255.  > lister set 121132636 handler 'lhadir_handler' quotes
  1256.  
  1257. Lesen Sie dazu auch den Abschnitt über 'benutzerdefinierte Handler' in diesem 
  1258. Kapitel für weitere Informationen.
  1259.  
  1260. hide <pattern>
  1261. Setzt den Filter für das Verbergen von Einträgen. Der Filter wird sofort 
  1262. angewendent, aber die Anzeige wird erst nach Ausführen eines "lister refresh" 
  1263. erneuert.
  1264.  
  1265. Beispiel:
  1266.  
  1267.  > lister set 121132636 hide '#?.info'
  1268.  
  1269. label
  1270. Dieser Befehl wird benutzt, um den Namen zu übergeben, der unter einem als 
  1271. Piktogramm verborgenen Dateilister angezeigt werden soll. Um eine solche 
  1272. benutzerdefinierte Beschriftung zu entfernen, benutzen Sie einfach diesen 
  1273. Befehl ohne Übergabe eines Namens.
  1274.  
  1275. Beispiel:
  1276.  
  1277.  > lister set 121132636 label Mein Lister
  1278.  > lister set 121132636 label
  1279.  
  1280. lock <type>
  1281. Die Parameter für <type> können momentan sein:
  1282.  
  1283. state [on|off]
  1284. Dieser Parameter erlaubt Ihnen, einen Dateilister in seinem aktuellen Zustand 
  1285. zu sperren, so daß der Benutzer dies nicht ändern kann, bevor Sie ihn nicht 
  1286. wieder freigeben.
  1287.  
  1288. format [on|off]
  1289. Dieser Parameter sperrt das aktuelle Anzeigeformat. Dies verursacht, daß das 
  1290. Fenster zum Ändern des Anzeigeformates nicht mehr vom Benutzer aufgerufen 
  1291. werden kann.
  1292.  
  1293.  
  1294. Sie können diese Parameter alle in einer Zeile übergeben.
  1295.  
  1296. Beispiel:
  1297.  
  1298.  > lister set 121132636 lock state on format on
  1299.  
  1300. mode
  1301. Dieser Befehl stellt den Darstellungsmodus des Dateilisters ein. Die 
  1302. Schlüsselworte sind:
  1303.  
  1304.  name            - Textmodus
  1305.  icon            - Piktogrammodus
  1306.  icon action     - Piktogramm Plus-Modus
  1307.  
  1308. Wenn Sie zudem "showall" angeben, so werden auch Dateien ohne eigene 
  1309. Piktogramme in den Piktogrammodi mit solchen versehen.
  1310.  
  1311. Beispiel:
  1312.  
  1313.  > lister set 121132636 mode name
  1314.  > lister set 121132636 mode icon action showall
  1315.  
  1316. namelength
  1317. Dieser Befehl stellt die maximale Dateinamenlänge in Dateilistern ein. 
  1318. Minimallänge ist 30 Zeichen (dies ist auch der Standardwert). Dieser Befehl ist 
  1319. nur nützlich für Leute, die ihre eigenen Handler schreiben wollen. Beachten Sie 
  1320. bitte, daß die meisten der internen Befehle von Opus momentan noch keine 
  1321. Dateinamen mit mehr als 30 Zeichen Länge unterstützen.
  1322.  
  1323. Beispiel:
  1324.  
  1325.  > lister set 121132636 namelength 256
  1326.  
  1327.  
  1328. newprogress [name] [file] [info] [bar] [abort]
  1329. Dies schaltet im spezifizierten Dateilister den Fortgangsindikator an. Dieser 
  1330. Befehl funktioniert ähnlich dem alten "lister set progress", erlaubt Ihnen aber 
  1331. weitere Kontrollmöglichkeiten über die dargestellten Informationen.
  1332.  
  1333.  name    - reserviert Platz für die Anzeige des Dateinamens
  1334.  file      - reserviert Platz für die Fortgangsanzeige
  1335.  info      - reserviert Platz für die Anzeige der Informationszeile
  1336.  bar       - reserviert Platz für die Anzeige des Fortgangsbalkens
  1337.  abort    - fügt einen Abbruchknopf hinzu
  1338.  
  1339. Fortgangsfenster, die beides, einen Balken und den Dateifortgang, anzeigen, 
  1340. haben die Balken- und Dateianzeige vertauscht. Anstelle eines Balkens, der 
  1341. prozentual die Anzahl kopierter Dateien und einer Prozentanzeige, die den 
  1342. Fortgang der jeweiligen Datei anzeigt, zeigt der Balken den einzelnen 
  1343. Dateifortgang an und eine Anzeige 'xxx von yyy' gibt Information über die 
  1344. Anzahl der kopierten Dateien.
  1345.  
  1346. Beispiel:
  1347.  
  1348.  > lister set 121132636 newprogress name file info bar abort
  1349.  
  1350. newprogress name <filename>
  1351. Wenn das Fortgangsfenster mit dem Parameter "name" geöffnet wurde, können Sie 
  1352. hiermit den aktuellen Dateinamen übergeben.
  1353.  
  1354. Beispiel:
  1355.  
  1356.  > lister set 121132636 newprogress name 'MeineDatei.TXT'
  1357.  
  1358. newprogress file <total> <count>
  1359. Wenn der Fortgangsindikator mit dem Parameter "file", aber ohne den Parameter 
  1360. "bar" geöffnet wurde, so stellen Sie hiermit die Gesamtanzahl der Dateien und 
  1361. die Nummer der aktuellen Datei ein. Dies wird in der oberen rechten Ecke des 
  1362. Fensters als 'xx%' angezeigt.
  1363.  
  1364. Wenn der Fortgangsindikator mit den Parametern "file" und "bar" geöffnet wurde, 
  1365. so stellen Sie hiermit die Gesamtzahl an Bytes und den aktuellen Bytezähler 
  1366. ein. Dies wird dann in der Balkenanzeige des Fensters dargestellt.
  1367.  
  1368. Beispiel:
  1369.  
  1370.  > lister set 121132636 newprogress file 12 4
  1371.  
  1372. newprogress info <text>
  1373. <text> ist der Textstring, der zwischen dem Dateinamen und der Balkenanzeige 
  1374. des Fortgangsindikator dargestellt werden soll.
  1375.  
  1376. Beispiel:
  1377.  
  1378.  > lister set 121132636 newprogress info "Von 'T' nach 'RAM:'"
  1379.  
  1380. newprogress bar <total> <count>
  1381. Wenn der Fortgangsindikator mit dem Parameter "bar", aber ohne den Parameter 
  1382. "file" geöffnet wurde, so stellen Sie hiermit die Gesamtzahl an Bytes und den 
  1383. aktuellen Bytezähler ein. Dies wird dann in der Balkenanzeige des Fensters 
  1384. dargestellt.
  1385.  
  1386. Wenn der Fortgangsindikator mit den Parametern "file" und "bar" geöffnet wurde, 
  1387. so stellen Sie hiermit die Gesamtanzahl an Dateien und die Nummer der aktuellen 
  1388. Datei ein. Dies wird dann als 'xxx von yyy' in der oberen rechten Ecke des 
  1389. Fensters angezeigt.
  1390.  
  1391. Beispiel:
  1392.  
  1393.  > lister set 121132636 newprogress bar 1024 100
  1394.  
  1395.  
  1396. newprogress title <text>
  1397. <text> ist der Textstring, der in der Titelzeile des Fortgangsindikators 
  1398. angezeigt werden soll.
  1399.  
  1400. Beispiel:
  1401.  
  1402.  > lister set 121132636 newprogress title 'Kopiere...'
  1403.  
  1404.  
  1405. Sie können die alten Befehle von "lister set progress" auch auf einen mit 
  1406. "newprogress" geöffneten Fortgangsindikator anwenden, jedoch können Sie damit 
  1407. nur den Dateinamen und den Balkenzähler ändern. Benutzen Sie "lister clear 
  1408. progress", um alte oder neue Fortgangsindikatoren zu entfernen.
  1409.  
  1410.  
  1411. off
  1412. Setzt den Listerstatus auf "AUS" (weder Ziel noch Quelle).
  1413.  
  1414. Beispiel:
  1415.  
  1416.  > lister set 121132636 off
  1417.  
  1418. path <path string>
  1419. Setzt den aktuellen Pfad des Listers. Bedenken Sie, daß dies nicht dazu führt, 
  1420. daß das angegebene Verzeichnis eingelesen wird; es wird lediglich der 
  1421. Anzeigestring geändert. Um das Verzeichnis auch einzulesen benutzen Sie bitte 
  1422. den Befehl "lister read". 
  1423.  
  1424. Beispiel:
  1425.  
  1426.  > lister set 121132636 path 'dh0:work'
  1427.  
  1428. position <x/y/w/h>
  1429. Dies stellt die Position und Größe des Dateilisters ein, wenn dessen Position 
  1430. nicht gesperrt ist. Wenn der Lister sichtbar ist, wird dies augenblicklich 
  1431. ausgeführt.
  1432.  
  1433. Beispiel:
  1434.  
  1435.  > lister set 121132636 position 20/20/400/300
  1436.  
  1437. progress <total> <text>
  1438.  
  1439.  
  1440. Beachten Sie bitte, daß diese Befehle ersetzt wurden durch "lister set 
  1441. newprogress". Benutzen Sie bitte in neuen Skripten stattdessen diese Befehle.
  1442.  
  1443.  
  1444. Dies schaltet einen Fortgangsindikator im Dateilister an.
  1445.  
  1446.  
  1447. <total> spezifiziert die Anzahl der möglichen Einzelschritte und kontrolliert 
  1448. damit die Anzeige des Fortgangsbalkens. Ein Wert von "-1" läßt keinen Balken 
  1449. erscheinen. <text> ist ein Textstring, der im Kopf des Fortgangsindikators 
  1450. angezeigt wird.
  1451.  
  1452. Beispiel:
  1453.  
  1454.  > lister set 121132636 progress 38 'Archiviere Dateien ...'
  1455.  
  1456. progress count <count>
  1457. Dies erneuert den Balken im Fortgangsindikator (dieser muß dazu schon 
  1458. eingeschaltet sein). <count> ist der Fortgang des Zählers, der durch den Balken 
  1459. angezeigt werden soll. <count> muß bei jedem Schritt größer werden, eine 
  1460. Verkleinerung der Position ist nicht zugelassen.
  1461.  
  1462. Beispiel:
  1463.  
  1464.  > lister set 121132636 progress count 4
  1465.  
  1466. progress name <name>
  1467. Dies erneuert die Anzeige eines Dateinamens im Fortgangsindikator. Der 
  1468. Dateiname wird oberhalb des Balkens angezeigt.
  1469.  
  1470. Beispiel:
  1471.  
  1472.  > lister set 121132636 progress name 'Datei.TXT'
  1473.  
  1474. separate <method>
  1475. Setzt die Eintragsordnung für diesen Dateilister. Die Liste der Einträge wird 
  1476. intern sofort neu sortiert, aber die Anzeige wird erst erneuert, wenn Sie dies 
  1477. mit dem Befehl "lister refresh" anordnen. Mögliche Schlüsselworte sind:
  1478.  
  1479.  mix         - Dateien und Verzeichnisse gemischt
  1480.  dirsfirst      - Verzeichnisse zuerst
  1481.  filesfirst     - Dateien zuerst
  1482.  
  1483. Beispiel:
  1484.  
  1485.  > lister set 121132636 separate mix
  1486.  
  1487. show <pattern>
  1488. Setzt den Filter für die Anzeige von Einträgen. Der Filter wird sofort aktiv, 
  1489. aber die Anzeige wird erst nach Ausführen eines "lister refresh"  erneuert.
  1490.  
  1491. Beispiel:
  1492.  
  1493.  > lister set 121132636 show '#?.c'
  1494.  
  1495.  
  1496. sort <method>
  1497. Setzt die Sortiermethode des Listers fest. Die Liste der Einträge wird intern 
  1498. sofort neu sortiert, aber die Anzeige wird erst erneuert, wenn Sie den Befehl 
  1499. "lister refresh" geben. Die möglichen Schlüsselworte sind:
  1500.  
  1501.  name      - Dateiname
  1502.  size          - Dateigröße
  1503.  protect       - Schutzbits
  1504.  date          - Datum
  1505.  comment     - Kommentar
  1506.  filetype      - Dateityp
  1507.  version       - Dateiversion
  1508.  
  1509. Beispiel:
  1510.  
  1511.  > lister set 121132636 sort date
  1512.  > lister set 121132636 sort filetype
  1513.  
  1514. source [lock]
  1515. Setzt den Listerstatus auf Quelle. Geben Sie zusätzlich "lock" an, wird der 
  1516. Lister als Quelle gesperrt.
  1517.  
  1518. Beispiel:
  1519.  
  1520.  > lister set 121132636 source lock
  1521.  
  1522. title <string>
  1523. Setzt den Titel des Dateilisters (angezeigt in der Titelzeile des Listers). Die 
  1524. Titelzeile wird erst erneuert nach Ausführen eines "lister refresh full"  
  1525. (Lesen Sie dazu später mehr). Der alte Titel des Listers wird in RESULT 
  1526. zurückgegeben.
  1527.  
  1528. Beispiel:
  1529.  
  1530.  > lister set 121132636 title 'hello'
  1531.                                                   ---> Work 
  1532.  > lister set 121132636 title
  1533.                                                   ---> hello 
  1534.  
  1535. toolbar <filename>
  1536. Dieser Befehl ändert die Werkzeugleiste, die im spezifizierten Dateilister 
  1537. benutzt wird.
  1538.  
  1539. Beispiel:
  1540.  
  1541.  > lister set 121132636 toolbar RAM:New_Toolbar
  1542.  
  1543. visible <state>
  1544. Macht einen Lister sichtbar oder unsichtbar. Standardmäßig sind Lister beim 
  1545. Erzeugen sichtbar. Setzen Sie seinen Status allerdings auf "0" oder "off",  
  1546. wird der Lister nicht mehr angezeigt, bis Sie ihn wieder sichtbar machen.
  1547.  
  1548. Beispiel:
  1549.  
  1550.  > lister set 121132636 visible off
  1551.  > lister set 121132636 visible 1
  1552.  
  1553. Befehl: lister select
  1554.  
  1555. Syntax: lister select <handle> <name> <state>
  1556.  
  1557. Dieser Befehl ändert den Anwahlstatus eines Eintrags im spezifizierten Lister. 
  1558. <name> ist entweder der Name des Eintrags oder #xxx (xxx ist eine Zahl) zur 
  1559. Festlegung der Nummer des Eintrags. <state> ist der gewünschte Anwahlstatus 
  1560. ("0" oder "off" für deselektiert, "1" oder "on" für angewählt). Wird <state> 
  1561. nicht angegeben, wird der Anwahlstatus der angegebenen Datei umgeschaltet. Die 
  1562. Anzeige wird erst nach Ausführen eines "lister refresh" erneuert. Der vorherige 
  1563. Anwahlstatus wird in RESULT zurückgegeben.
  1564.  
  1565. Beispiel:
  1566.  
  1567.  > lister select 121132636 ENV on
  1568.                                           ---> off 
  1569.  
  1570. Befehl: lister wait
  1571.  
  1572. Syntax: lister wait <handle> [quick]
  1573.  
  1574. Dieser Befehl veranlaßt das ARexx-Skript auf die Beendigung der momentan im 
  1575. spezifizierten Listers ausgeführten Operation zu warten, was immer auch die 
  1576. dort ausgeführte Operation ist. Aufgrund des Multitaskings von Opus 5, wird mit 
  1577. der Ausführung der ARexx-Befehle (wie "lister read" oder "lister new") sofort 
  1578. fortgefahren, selbst wenn der Lister die ihm zugewiesene Ausgabe noch nicht 
  1579. ausgeführt hat. Mit diesem Befehl veranlassen Sie ARexx zu warten, bis der 
  1580. Status des Listers nicht mehr "BUSY" ist. Ist der spezifizierte Lister bei 
  1581. Ausführung dieses Befehls nicht "BUSY", wartet das Programm bis zu zwei 
  1582. Sekunden, ob dieser auf "BUSY" schaltet, und fährt anderenfalls mit der 
  1583. Abarbeitung des Programms fort. Wird das Schlüsselwort "quick" angegeben, so 
  1584. wird der Befehl sofort weitermachen, wenn der Lister nicht "BUSY" ist, anstatt 
  1585. zwei Sekunden zu warten. Es wäre übrigens ziemlich nutzlos, ein "lister set 
  1586. busy 1" auszuführen und danach ein "lister wait". 
  1587.  
  1588. Beispiel:
  1589.  
  1590.  > lister read 121132636 'c:'
  1591.  > lister wait 121132636
  1592.  
  1593.  
  1594. Befehl: lister iconify
  1595.  
  1596. Syntax: lister iconify (all|<handle>) <state>
  1597.  
  1598. Hiermit schalten Sie alle oder den spezifizierten Dateilister in den 
  1599. verborgenen Zustand als Piktogramm, wenn Sie für <state> on, 1 oder auch diesen 
  1600. Parameter weglassen. Um die Dateilister wieder zu öffnen muß <state> off oder 0 
  1601. sein.
  1602.  
  1603. Beispiel:
  1604.  
  1605.  > lister iconify 121132636
  1606.  > lister iconify all off
  1607.  
  1608.  
  1609. 16.2.3  Der Basisbefehl "command"
  1610.  
  1611. Der dritte Basisbefehl von Opus 5 ist der Befehl "command". Dieser erlaubt es 
  1612. Ihnen, die internen Befehle von Opus 5 aus dem ARexx-Skript heraus aufzurufen. 
  1613. Die internen Befehle werden dabei exakt so ausgeführt, als wären sie durch 
  1614. einen Knopf oder ein Menü aufgerufen worden.
  1615.  
  1616.  command [wait] [source <handle>] [dest <handle>] [original] command
  1617.  [arguments]
  1618.  
  1619. Wenn Sie das Schlüsselwort "wait" angeben, so wird der Befehl synchron 
  1620. gestartet, anderenfalls kehrt er sofort zurück. Üblicherweise arbeiten die 
  1621. meisten Befehle mit dem Quell- und einem Zieldateilister. Darüberhinaus können 
  1622. Sie mit "source" und "dest" auch alternative Dateilister angeben.
  1623.  
  1624. Das Schlüsselwort "original" erlaubt Ihnen die Ausführung eines "echten"  
  1625. internen Befehls, wenn dieser in der Befehlsliste durch einen externen Befehl 
  1626. ersetzt wurde (externe Module, die Befehle zu Opus hinzufügen, haben höhere 
  1627. Priorität als die interne Liste). Das bedeutet, daß Sie ein Modul haben können, 
  1628. das einige Opus-Befehle ersetzt und unter bestimmten Umständen einige Dinge auf 
  1629. besondere Art erledigt, und in anderen Fällen rufen Sie einfach die originale, 
  1630. interne Funktion auf.
  1631.  
  1632. Der Parameter "command" ist der Name des auszuführenden Befehls und "arguments" 
  1633. sind, wie üblich, die optionalen Argumente für diesen Befehl.
  1634.  
  1635. Beispiele:
  1636.  
  1637.  > command all
  1638.  > command wait copy
  1639.  > command read s:startup-sequence
  1640.  > command source 121132636 makedir name=MeinVerzeichnis noicon
  1641.  > command original wait delete ram:#?
  1642.  
  1643.  
  1644. 16.3  ARexx-Fehlercodes
  1645.  
  1646. Listerhandles sind die aktuellen Speicheradressen der Dateilisterstruktur. Opus 
  1647. 5 weist jedes ungültige Handle mit einem Rückgabewert (RC) von 10 zurück. Alle 
  1648. Befehle, die Daten zurückgeben, tun dies in der Variable RESULT (mit Ausnahme 
  1649. von "dopus getstring" und "lister getstring") oder in einer von Ihnen 
  1650. spezifizierten Stammvariablen. Tritt ein Fehler dabei auf, wird der Fehlercode 
  1651. in der Variable RC zurückgegeben. Ein Wert von 0 in RC bedeutet, daß kein 
  1652. Fehler aufgetreten ist.
  1653.  
  1654. Die aktuell gültigen Fehlercodes sind:
  1655.  
  1656. 1        RXERR_FILE_REJECTED
  1657.  
  1658. Die Datei, die Sie hinzufügen wollten, wurde von den Filtern des Dateilisters 
  1659. zurückgewiesen.
  1660.  
  1661. Beachten Sie, daß dies kein Fehler, sondern lediglich eine Warnung ist. Die 
  1662. Datei wird trotzdem hinzugefügt, wird aber nicht sichtbar, bevor nicht die 
  1663. Filter verändert werden.
  1664.  
  1665. 5         RXERR_INVALID_QUERY
  1666.             RXERR_INVALID_SET
  1667.  
  1668. Die Anweisung, die Sie als Schlüsselwort bei "lister query" oder "lister set"  
  1669. übergeben wollten, ist nicht gültig.
  1670.  
  1671. 6        RXERR_INVALID_NAME
  1672.            RXERR_INVALID_KEYWORD
  1673.  
  1674. Der spezifizierte Dateiname oder das Schlüsselwort waren nicht gültig.
  1675.  
  1676. 8          RXERR_INVALID_TRAP
  1677.  
  1678. Der Trap, den Sie entfernen wollten, exisitiert nicht.
  1679.  
  1680. 10     RXERR_INVALID_HANDLE
  1681.  
  1682. Das spezifizierte Listerhandle ist nicht gültig.
  1683.  
  1684. 12        RXERR_NO_TOOLBAR
  1685.  
  1686. Der Dateilister hat keine gültige Werkzeugleiste.
  1687.  
  1688. 15       RXERR_NO_MEMORY
  1689.  
  1690. Nicht genug Speicher für die von Ihnen verlangte Operation.
  1691.  
  1692. 20      RXERR_NO_LISTER
  1693.  
  1694. Ein Dateilister konnte nicht geöffnet werden (üblicherweise aufgrund von 
  1695. Speicherplatzmangel)
  1696.  
  1697. 16.4  Benutzerdefinierte Handler
  1698.  
  1699. Das System benutzerdefinierter Handler erlaubt es Ihnen, den Namen eines 
  1700. externen, öffentlichen Messageports zu definieren. Diesem Port werden immer 
  1701. dann Nachrichten zugesendet, wenn bestimmte Dinge geschehen, an denen Sie 
  1702. interessiert sind.  Nachrichten, die dorthin versendet werden, sind immer 
  1703. korrekt formatierte ARexx-Nachrichten. Ein beispielhaftes Codefragment für den 
  1704. Empfang einer Nachricht ist:
  1705.  
  1706.      call waitpkt(myportname)      /* Warte auf einkommende Nachrichten */ 
  1707.  
  1708.      packet=getpkt(myportname)     /* Empfange Wartenachricht */ 
  1709.      arg0=getarg(packet,0)         /* Empfange Argument 0 */ 
  1710.      arg1=getarg(packet,1)         /* Empfange Argument 1 */ 
  1711.      arg2=getarg(packet,2)         /* Empfange Argument 2, etc... */ 
  1712.  
  1713.      call reply(packet,0)          /* Antwort auf empfangene Nachricht */ 
  1714.  
  1715. 16.4.1  Benutzerdefinierte Handler für Dateilister
  1716.  
  1717. Ein benutzerdefinierter Handler wird einem Lister zugewiesen durch Aufruf von 
  1718. "lister set <handle> handler" für diesen Dateilister, wobei Sie den Namen Ihres 
  1719. Messageports übergeben. Immer, wenn etwas Interessantes mit Ihrem Dateilister 
  1720. geschieht, wird dem Handler eine ARexx-Nachricht geschickt. Der Handler kann 
  1721. als Rexx- oder als C-Programm implementiert werden (wobei in letzterem Fall die 
  1722. Nachricht selbst interpretiert werden muß). Anders als bei Opus 4 sorgt eine 
  1723. Nachricht, die an einen Handler verschickt wird, nicht dafür, daß Opus "hängt", 
  1724. bis auf diese Nachricht geantwortet wird (obwohl Sie natürlich trotzdem so 
  1725. schnell wie möglich auf eine Nachricht antworten sollten).
  1726.  
  1727.  
  1728. Bedenken Sie, daß benutzerdefiniertee Handler nur spezifisch für den im Lister 
  1729. sichtbaren Puffer zum Zeitpunkt der Namensfestlegung sind. Derselbe Handlerport 
  1730. kann auch für mehrere Puffer und sogar für mehrere Lister gesetzt werden. 
  1731. Beachten Sie bitte auch, daß die Groß- und Kleinschreibung bei den Namen der 
  1732. Messageports relevant ist.
  1733.  
  1734.  
  1735. Die Rexx-Nachricht identifiziert die Art des Ereignisses, den Lister, in dem 
  1736. dieses Ereignis stattfand und andere angemessene Daten.
  1737.  
  1738.  
  1739. Die Ereignisse, von denen Sie benachrichtigt werden können, sind momentan:
  1740.  
  1741. doubleclick (Doppelklick)
  1742. Wenn ein Doppelklick als Ereignis auftritt bedeutet dies, daß ein Eintrag des 
  1743. Listers vom Benutzer mit einem Doppelklick aktiviert wurde.
  1744. Die übergebenen Argumente der Nachricht sind:
  1745.  
  1746.    Arg0 - "doubleclick"        (Ein String, der den Ereignistyp angibt)
  1747.    Arg1 - <handle>          (Listerhandle)
  1748.    Arg2 - <name>           (Name des Eintrags)
  1749.    Arg3 - undefiniert
  1750.    Arg4 - undefiniert
  1751.    Arg5 - <userdata>        (Wenn <userdata> mit dem Befehl "lister addstem"
  1752.                                 definiert wurde)
  1753.    Arg6 - <qualifiers>      (String, der das Drücken folgender Tasten abgibt:
  1754.                                 shift, alt, control (Amiga-Taste))
  1755.  
  1756. drop (Ablegen)
  1757. Die ist ein "Nehmen & Ablegen"-Ereignis und tritt auf, wenn einer oder mehrere 
  1758. Einträge in einem Lister abgelegt wurden.
  1759. Die übergebenen Argumente der Nachricht sind:
  1760.  
  1761.    Arg0 - "drop"               (Ereignistyp)
  1762.    Arg1 - <handle>         (Ziellisterhandle)
  1763.    Arg2 - <names>          (Dateinamen)
  1764.    Arg3 - <handle>         (Quellisterhandle)
  1765.    Arg4 - undefiniert
  1766.    Arg5 - undefiniert
  1767.    Arg6 - <qualifiers>       (shift, alt, control (Amiga-Taste))
  1768.  
  1769. Bei mehreren übergebenen Dateinamen werden diese durch Leerschritte voneinander 
  1770. getrennt und werden, wenn das Schlüsselwort "quotes" beim Befehl "lister set 
  1771. handler" angegeben wurde, in Anführungszeichen eingeschlossen. Stammen die 
  1772. Dateien aus einem anderen Lister von Opus 5, dann wird in Arg3 das Handle 
  1773. dieses Listers übergeben. Ist dies der Fall und das Schlüsselwort "fullpath" 
  1774. wurde bei "lister set handler" nicht angegeben, so werden nur die Dateinamen 
  1775. (und nicht deren Pfade) in Arg2 übergeben. Der Quellpfad läßt sich dann aber 
  1776. leicht mit "lister query"  herausfinden. Ist Arg3 gleich Null, dann werden die 
  1777. abgelegten Objekte wahrscheinlich von der Workbench stammen und die Dateinamen 
  1778. in Arg2 enthalten den vollen Pfad.
  1779.  
  1780.  
  1781. dropfrom (Nehmen von)
  1782. Dies entspricht genau dem Ereignis "drop", außer daß es das Nehmen von einem 
  1783. Lister anzeigt, anstatt das Ablegen auf einem.
  1784. Die übergebenen Argumente der Nachricht sind:
  1785.  
  1786.    Arg0 - "dropfrom"       (Ereignistyp)
  1787.    Arg1 - <handle>        (Ziellisterhandle)
  1788.    Arg2 - <names>          (Dateinamen)
  1789.    Arg3 - <handle>          (Quellisterhandle)
  1790.    Arg4 - undefiniert
  1791.    Arg5 - undefiniert
  1792.    Arg6 - <qualifiers>       (shift, alt, control (Amiga-Taste))
  1793.  
  1794. Beachten Sie bitte, daß AppIcons auf "dropfrom"-Ereignisse empfangen können, 
  1795. jedoch weichen die Argumente dabei ein wenig ab. Sie können daran erkannt 
  1796. werden, daß in Arg4 das Wort "icon" immer präsent ist. Lesen Sie weiter unten 
  1797. mehr dazu.
  1798.  
  1799. parent (Mutterverzeichnis)
  1800. Dieses Ereignis wird empfangen, wenn der Menüpunkt "Mutterverzeichnis" aus dem 
  1801. Popup-Menü mit der Verzeichnisliste angewählt wird, oder, wenn der Benutzer auf 
  1802. den verborgenen Mutterverzeichnisknopf drückt oder den Hotkey für das 
  1803. Mutterverzeichnis benutzt ("/").
  1804. Die übergebenen Argumente der Nachricht sind:
  1805.  
  1806.    Arg0 - "parent"          (Ereignistyp)
  1807.    Arg1 - <handle>         (Quellisterhandle)
  1808.    Arg2 - <path>             (Pfad des Dateilisters)
  1809.    Arg3 - undefiniert
  1810.    Arg4 - undefiniert
  1811.    Arg5 - undefiniert
  1812.    Arg6 - <qualifiers>      (Nur die Shift-Tasten)
  1813.  
  1814. root (Hauptverzeichnis)
  1815. Dieses Ereignis wird empfangen, wenn der Menüpunkt "Hauptverzeichnis" aus dem 
  1816. Popup-Menü mit der Verzeichnisliste angewählt wird, oder, wenn der Benutzer den 
  1817. Hotkey für das Mutterverzeichnis benutzt (":").
  1818. Die übergebenen Argumente der Nachricht sind:
  1819.  
  1820.    Arg0 - "root"             (Ereignistyp)
  1821.    Arg1 - <handle>          (Quellisterhandle)
  1822.    Arg2 - <path>            (Pfad des Dateilisters)
  1823.    Arg3 - undefiniert
  1824.    Arg4 - undefiniert
  1825.    Arg5 - undefiniert
  1826.    Arg6 - <qualifiers>       (Nur die Shift-Tasten)
  1827.  
  1828.  
  1829. path (Pfad)
  1830. Diese Nachricht erhalten Sie, wenn der Benutzer einen neuen Pfad in das 
  1831. Pfadeingabefeld des Dateilisters eingibt.
  1832. Die übergebenen Argumente der Nachricht sind:
  1833.  
  1834.    Arg0 - "path"              (Ereignistyp)
  1835.    Arg1 - <handle>          (Listerhandle)
  1836.    Arg2 - <path>             (Pfad des Dateilisters)
  1837.  
  1838. reread (Verzeichnis erneut einlesen)
  1839. Dieses Ereignis wird an Ihren Handler gesendet, wenn "Verzeichnis erneut 
  1840. einlesen" aus dem Popup-Menü mit der Verzeichnisliste angewählt wird.
  1841. Die übergebenen Argumente der Nachricht sind:
  1842.  
  1843.    Arg0 - "reread"            (Ereignistyp)
  1844.    Arg1 - <handle>          (Listerhandle)
  1845.    Arg2 - <path>             (Neuer Pfad für den Dateilister)
  1846.  
  1847. active (aktiv)
  1848. Dieses Ereignis zeigt an, daß ein Puffer mit benutzerdefiniertem Handler 
  1849. sichtbar wurde.
  1850. Die übergebenen Argumente der Nachricht sind:
  1851.  
  1852.    Arg0 - "active"             (Ereignistyp)
  1853.    Arg1 - <handle>          (Listerhandle)
  1854.    Arg2 - <title>              (Name des Puffers)
  1855.    Arg3 - undefiniert
  1856.    Arg4 - <path>             (Pfad des Dateilisters
  1857.  
  1858. Arg2 enthält den Titel des aktiv gewordenen Puffers, wenn dieser mit lister set 
  1859. title" eingestellt wurde. Wurde kein Titel benutzerdefiniert, wird der 
  1860. Pfadstring des Puffers stattdessen übergeben (d.h. in einem solchen Fall sind 
  1861. Arg2 und Arg4 identisch). 
  1862.  
  1863. inactive (inaktiv)
  1864. Dieses Ereignis zeigt an, daß der Puffer dieses benutzerdefinierten Handlers 
  1865. nicht länger aktiv (sichtbar im Lister) ist. Die Argumente der Nachricht 
  1866. stimmen mit denen von "active" überein, abgesehen vom anderen Ereignistyp in 
  1867. Arg0. Diese Nachricht tritt auf, wenn der Puffer des Listers verändert wird 
  1868. (entweder durch den Benutzer oder durch Rexx) oder wenn der Lister geschlossen 
  1869. wird. Beachten Sie, daß Sie eventuell eine Nachricht "active" für einen anderen 
  1870. Puffer mit benutzerdefiniertem Handler oder sogar für denselben Puffer, direkt 
  1871. nach Erhalt der Nachricht "inactive",  erhalten.
  1872.  
  1873.  
  1874. 16.4.2  Abgefangene Funktionen
  1875.  
  1876. Nachrichten für abgefangene Befehle werden wie andere Nachrichten auch an den 
  1877. Lister gesendet.
  1878. Die übergebenen Argumente der Nachricht sind:
  1879.  
  1880.    Arg0 - <command>    (Name des Befehls oder "abort")
  1881.    Arg1 - <handle>          (Quellisterhandle, falls verfügbar)
  1882.    Arg2 - <files>           (Angewählte Dateien, falls verfügbar)
  1883.    Arg3 - <handle>          (Ziellisterhandle, falls verfügbar)
  1884.    Arg4 - <path>            (Quellpfad; dies ist nützlich, wenn kein Lister
  1885.                              damit verbunden ist)
  1886.    Arg5 - <args>            (Vom Benutzer mit der Funktion übergebene Argumente)
  1887.    Arg7 - <path>            (Zielpfad; erlaubt Ihnen die Unterstützung des
  1888.                              "Zielwahl"-Requesters)
  1889.  
  1890. 16.4.3  Popup-Menüereignisse bei Dateien
  1891.  
  1892. Wenn Sie Datei zu einem Dateilister mit "lister addstem" hinzugefügt haben und 
  1893. Ihre eigenen Popup-Menüs für diese Dateien spezifiziert haben, so werden Sie 
  1894. Nachrichten erhalten, wenn diese Menüs vom Benutzer angewählt werden.
  1895. Die übergebenen Argumente der Nachricht sind:
  1896.  
  1897.    Arg0 - "menu"            (Ereignistyp Menü)
  1898.    Arg1 - <handle>          (Listerhandle)
  1899.    Arg2 - <name>            (Name des Eintrags)
  1900.    Arg3 - <id>              (ID des Menüeintrags + Basis-ID, falls angegeben)
  1901.    Arg4 - "file"            (String, der dies als Dateimenüereignis identifiziert)
  1902.    Arg5 - <userdata>        (Wenn <userdata> mit dem Befehl "lister addstem"
  1903.                              definiert wurde)
  1904.  
  1905.  
  1906. 16.4.4  Benutzerdefinierte Handler für AppIcons
  1907.  
  1908. AppIcons, die mit dem Befehl "addappicon" hinzugefügt wurden, sorgen auch 
  1909. dafür, daß Nachrichten gesendet werden. Alle Nachrichten von AppIcons haben 
  1910. dieselben Argumente:
  1911.  
  1912.    Arg0 - <event>        (String, der das Ereignis identifiziert (s.u.))
  1913.    Arg1 - <id>              (Die bei "addappicon" spezifizierte ID)
  1914.    Arg2 - <data>            (Dateinamen/Menü-ID/andere Informationen)
  1915.    Arg3 - <handle>          (Quellisterhandle, falls anwendbar)
  1916.    Arg4 - "icon"            (String, der dies als Piktogrammereignis
  1917.                              identifiziert)
  1918.  
  1919. Diese Ereignisse können bei AppIcons (siehe Arg0) auftreten:
  1920.  
  1921. doubleclick
  1922. Dies zeigt an, daß das Piktogramm doppelgeklickt wurde oder daß "Öffnen"  aus 
  1923. dem Menü gewählt wurde.
  1924.  
  1925. dropfrom
  1926. Dies ist ein "Nehmen & Ablegen"-Ereignis, das anzeigt, daß einer oder mehrere 
  1927. Einträge auf diesem Piktogramm von einem Dateilister oder einem anderen Ort 
  1928. abgelegt wurden. Die Namen dieser Einträge sind in Arg2 verfügbar.
  1929.  
  1930. snapshot
  1931. Dieses Ereignis tritt auf, wenn der Menüpunkt "Fixieren" gewählt wurde. Die 
  1932. aktuelle Position des Piktogramms ist in Arg2 verfügbar (als x,y-String). Sie 
  1933. sind selber für die Speicherung dieser Position verantwortlich.
  1934.  
  1935. unsnapshot
  1936. Dieses Ereignis tritt auf, wenn der Menüpunkt "Position freigeben" gewählt 
  1937. wurde.
  1938.  
  1939. removed
  1940. Dieses Ereignis warnt davor, daß Opus beendet wurde und der Handlercode nun 
  1941. aufräumen und auch beenden sollte.
  1942.  
  1943. info
  1944. Dieses Ereignis tritt auf, wenn der Menüpunkt "Information" gewählt wird.
  1945.  
  1946. close
  1947. Dieses Ereignis tritt auf, wenn "Schließen" aus dem Popup-Menü gewählt wurde.
  1948.  
  1949. menu
  1950. Dieses Ereignis zeigt an, daß einer der benutzerdefinierten Menüpunkte des 
  1951. Popup-Menüs angewählt wurde. Die Nummer des Menüeintrags wird in Arg2 
  1952. übergeben.
  1953.  
  1954. menuhelp
  1955. Dieses Ereignis zeigt an, daß die Help-Taste gedrückt wurde, während der 
  1956. Mauszeiger sich über einem der benutzerdefinierten Menüpunkte des Popup-Menüs 
  1957. befand. Die Nummer des Menüeintrags wird in Arg2 übergeben.
  1958.  
  1959. Aufgrund der Natur von Opus 5 mit seinem internen Multitasking, kann man sich 
  1960. nicht hundertprozentig auf die Informationen, die benutzerdefinierte Handler 
  1961. erhalten, verlassen. Zum Beispiel kann es geschehen, daß Sie die Nachricht 
  1962. "active" erhalten, obwohl der Puffer, der dies auslöste, direkt wieder inaktiv 
  1963. wurde. Sie sollten daher überprüfen, ob der Port frei von Nachrichten ist, 
  1964. bevor Sie neue bearbeiten und Sie sollten den Befehl "lister query" benutzen, 
  1965. um sicherzustellen, daß die Dinge so sind, wie Sie es erwarten. Bedenken Sie 
  1966. auch, daß Lister jederzeit durch den Benutzer geschlossen werden können (es sei 
  1967. denn, Sie haben "BUSY" gesetzt). Um zu überprüfen, ob ein Lister noch geöffnet 
  1968. ist, benutzen Sie "lister query path" (oder auch einen anderen Befehl der 
  1969. Gruppe "lister query"). Existiert der fragliche Lister nicht mehr, wird in der 
  1970. Variable RC der Fehlercode 10 (RXERR_INVALID_HANDLE) zurüchgegeben.
  1971.  
  1972. Seien Sie sich bewußt, daß diese Möglichkeiten bestehen. Generell werden keine 
  1973. Probleme auftreten, solange nicht der Benutzer (und das dürften meistens Sie 
  1974. selber sein) während der Ausführung solcher Programme darin "herumspielt".
  1975.  
  1976. 16.5  ARexx-Module
  1977.  
  1978. ARexx-Module sind ARexx-Skripte, die im Verzeichnis "DOpus5:Modules"  
  1979. installiert sind. Um korrekt zu arbeiten, müssen sie die Dateiendung ".dopus" 
  1980. tragen.
  1981.  
  1982. Jedes ARexx-Modul kann neue, interne Befehle zu Opus hinzufügen.
  1983.  
  1984. Wenn beides, Opus 5 und ARexx, gestartet wurde, wird zuerst das Verzeichnis 
  1985. DOpus5:Modules" nach ARexx-Modulen gescannt, woraufhin dann bei jedem 
  1986. gefundenen Modul die "init"-Funktion aufgerufen wird. Jedes ARexx-Modul MUß 
  1987. eine Init-Funktion besitzen, ansonsten wird es nicht funktionieren. Diese 
  1988. Funktion ist dafür zuständig, daß die zusätzlichen Befehle in Opus 5 
  1989. eingebunden werden.
  1990.  
  1991. Die Skripte werden mit vier oder mehr Parametern aufgerufen. Die ersten vier 
  1992. werden immer übergeben: Der Portname von Opus 5, der Funktionsname und die 
  1993. Handles von Quell- und Zieldateilister. Danach folgen weitere, durch den 
  1994. Benutzer spezifizierte Argumente.
  1995.  
  1996.  
  1997. Sie können soviele Befehle hinzufügen, wie Sie wünschen. Um Befehle 
  1998. hinzuzufügen, benutzen Sie den Befehl "dopus command". Die Syntax zum Aufruf 
  1999. ist:
  2000.  
  2001.  dopus command <name> program <scriptname> [desc <description>]
  2002.  [template <template>] [source] [dest]
  2003.  
  2004.  name            - Der Name des Befehls.
  2005.  scriptname      - Dateiname des Skriptes (dies muß der Name des Skriptes sein,
  2006.                      so wie er im Verzeichnis "DOpus5:Modules" steht, jedoch ohne
  2007.                       die Endung ".dopus5").
  2008.  description     - Optionale Befehlsbeschreibung (für die abrufbare Befehlsliste
  2009.                      in den Editoren).
  2010.  template        - Optionale Befehlsschablone im Stil von ReadArgs (das Prüfen
  2011.                      der übergebenen Parameter müssen Sie selbst übernehmen).
  2012.  source          - Zeigt an, daß der Befehl einen Quelldateilister braucht.
  2013.  dest            - Zeigt an, daß der Befehl einen Zieldateilister braucht.
  2014.  
  2015. Das Feld "program" ist unabdingbar und Opus führt den Skriptnamen, den Sie hier 
  2016. angeben, bei jedem Aufruf der Funktion aus. Die Felder "description"  und 
  2017. "template" sind optional. Wenn Sie die Schlüsselworte "source" oder "dest" 
  2018. (oder beide) angeben, so werden die passenden Listerhandle als Argumente an das 
  2019. Skript übergeben. Sind diese Schlüsselworte nicht in Gebrauch, so werden diese 
  2020. Argumente dennoch übergeben, sind dann aber gleich Null. Wenn Sie 
  2021. benutzerdefinierte Argumente an das Ende der Befehlszeile anhängen, sind Sie 
  2022. für deren Abfrage selbst verantwortlich.
  2023.  
  2024. Hier ist das komplette Beispiel eines ARexx-Moduls:
  2025.  
  2026. /* Beispielhaftes Directory Opus 5 ARexx-Modul */ 
  2027.  
  2028. parse arg portname function source dest arguments 
  2029. address value portname 
  2030. options results 
  2031.  
  2032. /* Initialisieren */ 
  2033.  
  2034. if function='init' then do 
  2035.      dopus command "Test1" program "test-command" desc "'Test Befehl 1'" 
  2036. template "TEST/S" 
  2037.      dopus command "Test2" program "test-command" desc "'Test Befehl 2'" source 
  2038.  
  2039.      exit 
  2040.      end 
  2041.  
  2042.  
  2043. /* Test function 1 */ 
  2044.  
  2045. if function='Test1' then do 
  2046.      dopus request "'Test Befehl 1 empfangen!'" "Ok" 
  2047.      exit 
  2048.      end 
  2049.  
  2050.  
  2051. /* Test function 2 */ 
  2052.  
  2053. if function='Test2' then do 
  2054.      str="'Test Befehl 2 empfangen - Quellhandle " || source 
  2055.      dopus request str "Ok" 
  2056.      exit 
  2057.      end 
  2058.  
  2059.